--- old/src/cpu/ppc/vm/compiledIC_ppc.cpp 2015-09-15 15:23:07.441854718 +0200 +++ new/src/cpu/ppc/vm/compiledIC_ppc.cpp 2015-09-15 15:23:07.333855625 +0200 @@ -94,10 +94,12 @@ const int IC_pos_in_java_to_interp_stub = 8; #define __ _masm. -address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf) { +address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark/* = NULL*/) { #ifdef COMPILER2 - // Get the mark within main instrs section which is set to the address of the call. - address call_addr = cbuf.insts_mark(); + if (mark == NULL) { + // Get the mark within main instrs section which is set to the address of the call. + mark = cbuf.insts_mark(); + } // Note that the code buffer's insts_mark is always relative to insts. // That's why we must use the macroassembler to generate a stub. @@ -117,7 +119,7 @@ // Create a static stub relocation which relates this stub // with the call instruction at insts_call_instruction_offset in the // instructions code-section. - __ relocate(static_stub_Relocation::spec(call_addr)); + __ relocate(static_stub_Relocation::spec(mark)); const int stub_start_offset = __ offset(); // Now, create the stub's code: --- old/src/cpu/ppc/vm/relocInfo_ppc.cpp 2015-09-15 15:23:07.913850747 +0200 +++ new/src/cpu/ppc/vm/relocInfo_ppc.cpp 2015-09-15 15:23:07.773851924 +0200 @@ -125,8 +125,5 @@ void poll_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) { } -void poll_return_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) { -} - void metadata_Relocation::pd_fix_value(address x) { } --- old/src/cpu/ppc/vm/sharedRuntime_ppc.cpp 2015-09-15 15:23:08.405846612 +0200 +++ new/src/cpu/ppc/vm/sharedRuntime_ppc.cpp 2015-09-15 15:23:08.253847889 +0200 @@ -957,11 +957,11 @@ return c2i_entrypoint; } -static void gen_i2c_adapter(MacroAssembler *masm, - int total_args_passed, - int comp_args_on_stack, - const BasicType *sig_bt, - const VMRegPair *regs) { +void SharedRuntime::gen_i2c_adapter(MacroAssembler *masm, + int total_args_passed, + int comp_args_on_stack, + const BasicType *sig_bt, + const VMRegPair *regs) { // Load method's entry-point from method. __ ld(R12_scratch2, in_bytes(Method::from_compiled_offset()), R19_method); --- old/src/share/vm/jvmci/jvmciRuntime.cpp 2015-09-15 15:23:09.169840187 +0200 +++ new/src/share/vm/jvmci/jvmciRuntime.cpp 2015-09-15 15:23:09.021841430 +0200 @@ -625,7 +625,8 @@ THROW_MSG_NULL(vmSymbols::java_lang_InternalError(), "JVMCI is not enabled") } JVMCIRuntime::initialize_HotSpotJVMCIRuntime(CHECK_NULL); - return JVMCIRuntime::get_HotSpotJVMCIRuntime_jobject(CHECK_NULL); + jobject ret = JVMCIRuntime::get_HotSpotJVMCIRuntime_jobject(CHECK_NULL); + return ret; JVM_END Handle JVMCIRuntime::callStatic(const char* className, const char* methodName, const char* signature, JavaCallArguments* args, TRAPS) {