equal
deleted
inserted
replaced
429 void remove_speculative_types(PhaseIterGVN &igvn); |
429 void remove_speculative_types(PhaseIterGVN &igvn); |
430 |
430 |
431 // Are we within a PreserveJVMState block? |
431 // Are we within a PreserveJVMState block? |
432 int _preserve_jvm_state; |
432 int _preserve_jvm_state; |
433 |
433 |
|
434 void* _replay_inline_data; // Pointer to data loaded from file |
|
435 |
434 public: |
436 public: |
435 |
437 |
436 outputStream* print_inlining_stream() const { |
438 outputStream* print_inlining_stream() const { |
437 return _print_inlining_list->adr_at(_print_inlining_idx)->ss(); |
439 return _print_inlining_list->adr_at(_print_inlining_idx)->ss(); |
438 } |
440 } |
462 void print_inlining(ciMethod* method, int inline_level, int bci, const char* msg = NULL) { |
464 void print_inlining(ciMethod* method, int inline_level, int bci, const char* msg = NULL) { |
463 stringStream ss; |
465 stringStream ss; |
464 CompileTask::print_inlining(&ss, method, inline_level, bci, msg); |
466 CompileTask::print_inlining(&ss, method, inline_level, bci, msg); |
465 print_inlining_stream()->print(ss.as_string()); |
467 print_inlining_stream()->print(ss.as_string()); |
466 } |
468 } |
|
469 |
|
470 void* replay_inline_data() const { return _replay_inline_data; } |
|
471 |
|
472 // Dump inlining replay data to the stream. |
|
473 void dump_inline_data(outputStream* out); |
467 |
474 |
468 private: |
475 private: |
469 // Matching, CFG layout, allocation, code generation |
476 // Matching, CFG layout, allocation, code generation |
470 PhaseCFG* _cfg; // Results of CFG finding |
477 PhaseCFG* _cfg; // Results of CFG finding |
471 bool _select_24_bit_instr; // We selected an instruction with a 24-bit result |
478 bool _select_24_bit_instr; // We selected an instruction with a 24-bit result |