Mercurial > hg > truffle
comparison src/share/vm/opto/compile.hpp @ 14232:183bd5c00828
8028468: Add inlining information into ciReplay
Summary: Allow dump and replay inlining for specified method during a program execution.
Reviewed-by: roland, twisti
author | kvn |
---|---|
date | Wed, 08 Jan 2014 10:25:50 -0800 |
parents | 86e6d691f2e1 |
children | abec000618bf 606acabe7b5c |
comparison
equal
deleted
inserted
replaced
14231:303c352ba1a8 | 14232:183bd5c00828 |
---|---|
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 |