comparison src/share/vm/code/nmethod.hpp @ 1937:4853c5cad3aa

More deoptmization tracing.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Thu, 23 Dec 2010 22:14:31 +0100
parents d5d065957597
children 06f017f7daa7
comparison
equal deleted inserted replaced
1936:8d88c9ac9247 1937:4853c5cad3aa
577 void copy_scopes_data(address buffer, int size); 577 void copy_scopes_data(address buffer, int size);
578 578
579 // Deopt 579 // Deopt
580 // Return true is the PC is one would expect if the frame is being deopted. 580 // Return true is the PC is one would expect if the frame is being deopted.
581 bool is_deopt_pc (address pc) { return is_deopt_entry(pc) || is_deopt_mh_entry(pc); } 581 bool is_deopt_pc (address pc) { return is_deopt_entry(pc) || is_deopt_mh_entry(pc); }
582 bool is_deopt_entry (address pc) { return pc == deopt_handler_begin(); } 582
583 // (tw) When using C1X, the address might be off by 5 (because this is the size of the call instruction.
584 // (tw) TODO: Replace this by a more general mechanism.
585 bool is_deopt_entry (address pc) { return pc == deopt_handler_begin() || (UseC1X && pc == deopt_handler_begin() + 5); }
583 bool is_deopt_mh_entry(address pc) { return pc == deopt_mh_handler_begin(); } 586 bool is_deopt_mh_entry(address pc) { return pc == deopt_mh_handler_begin(); }
584 // Accessor/mutator for the original pc of a frame before a frame was deopted. 587 // Accessor/mutator for the original pc of a frame before a frame was deopted.
585 address get_original_pc(const frame* fr) { return *orig_pc_addr(fr); } 588 address get_original_pc(const frame* fr) { return *orig_pc_addr(fr); }
586 void set_original_pc(const frame* fr, address pc) { *orig_pc_addr(fr) = pc; } 589 void set_original_pc(const frame* fr, address pc) { *orig_pc_addr(fr) = pc; }
587 590