< prev index next >

src/hotspot/share/code/compiledIC.cpp

Print this page




 724 
 725 void CompiledIC::print_compiled_ic() {
 726   tty->print("Inline cache at " INTPTR_FORMAT ", calling %s " INTPTR_FORMAT " cached_value " INTPTR_FORMAT,
 727              p2i(instruction_address()), is_call_to_interpreted() ? "interpreted " : "", p2i(ic_destination()), p2i(is_optimized() ? NULL : cached_value()));
 728 }
 729 
 730 void CompiledDirectStaticCall::print() {
 731   tty->print("static call at " INTPTR_FORMAT " -> ", p2i(instruction_address()));
 732   if (is_clean()) {
 733     tty->print("clean");
 734   } else if (is_call_to_compiled()) {
 735     tty->print("compiled");
 736   } else if (is_call_to_far()) {
 737     tty->print("far");
 738   } else if (is_call_to_interpreted()) {
 739     tty->print("interpreted");
 740   }
 741   tty->cr();
 742 }
 743 


















 744 #endif // !PRODUCT


 724 
 725 void CompiledIC::print_compiled_ic() {
 726   tty->print("Inline cache at " INTPTR_FORMAT ", calling %s " INTPTR_FORMAT " cached_value " INTPTR_FORMAT,
 727              p2i(instruction_address()), is_call_to_interpreted() ? "interpreted " : "", p2i(ic_destination()), p2i(is_optimized() ? NULL : cached_value()));
 728 }
 729 
 730 void CompiledDirectStaticCall::print() {
 731   tty->print("static call at " INTPTR_FORMAT " -> ", p2i(instruction_address()));
 732   if (is_clean()) {
 733     tty->print("clean");
 734   } else if (is_call_to_compiled()) {
 735     tty->print("compiled");
 736   } else if (is_call_to_far()) {
 737     tty->print("far");
 738   } else if (is_call_to_interpreted()) {
 739     tty->print("interpreted");
 740   }
 741   tty->cr();
 742 }
 743 
 744 void CompiledDirectStaticCall::verify_mt_safe(const methodHandle& callee, address entry,
 745                                               NativeMovConstReg* method_holder,
 746                                               NativeJump*        jump) {
 747   // A generated lambda form might be deleted from the Lambdaform
 748   // cache in MethodTypeForm.  If a jit compiled lambdaform method
 749   // becomes not entrant and the cache access returns null, the new
 750   // resolve will lead to a new generated LambdaForm.
 751   Method* old_method = reinterpret_cast<Method*>(method_holder->data());
 752   assert(old_method == NULL || old_method == callee() ||
 753          callee->is_compiled_lambda_form() ||
 754          !old_method->method_holder()->is_loader_alive() ||
 755          old_method->is_old(),  // may be race patching deoptimized nmethod due to redefinition.
 756          "a) MT-unsafe modification of inline cache");
 757 
 758   address destination = jump->jump_destination();
 759   assert(destination == (address)-1 || destination == entry,
 760          "b) MT-unsafe modification of inline cache");
 761 }
 762 #endif // !PRODUCT
< prev index next >