src/share/vm/runtime/sharedRuntime.cpp

changeset 9532
da06fcb19387
parent 9417
65409bcab2ad
child 9572
624a0741915c
equal deleted inserted replaced
9531:0ff99c48884b 9532:da06fcb19387
1229 Bytecodes::name(invoke_code)); 1229 Bytecodes::name(invoke_code));
1230 callee_method->print_short_name(tty); 1230 callee_method->print_short_name(tty);
1231 tty->print_cr(" at pc: " INTPTR_FORMAT " to code: " INTPTR_FORMAT, caller_frame.pc(), callee_method->code()); 1231 tty->print_cr(" at pc: " INTPTR_FORMAT " to code: " INTPTR_FORMAT, caller_frame.pc(), callee_method->code());
1232 } 1232 }
1233 #endif 1233 #endif
1234
1235 // Do not patch call site for static call when the class is not
1236 // fully initialized.
1237 if (invoke_code == Bytecodes::_invokestatic &&
1238 !callee_method->method_holder()->is_initialized()) {
1239 assert(callee_method->method_holder()->is_linked(), "must be");
1240 return callee_method;
1241 }
1234 1242
1235 // JSR 292 key invariant: 1243 // JSR 292 key invariant:
1236 // If the resolved method is a MethodHandle invoke target, the call 1244 // If the resolved method is a MethodHandle invoke target, the call
1237 // site must be a MethodHandle call site, because the lambda form might tail-call 1245 // site must be a MethodHandle call site, because the lambda form might tail-call
1238 // leaving the stack in a state unknown to either caller or callee 1246 // leaving the stack in a state unknown to either caller or callee

mercurial