< prev index next >

src/cpu/sparc/vm/compiledIC_sparc.cpp

Print this page

        

*** 51,74 **** } // ---------------------------------------------------------------------------- #define __ _masm. ! void CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf) { #ifdef COMPILER2 // Stub is fixed up when the corresponding call is converted from calling // compiled code to calling interpreted code. // set (empty), G5 // jmp -1 address mark = cbuf.insts_mark(); // Get mark within main instrs section. MacroAssembler _masm(&cbuf); ! address base = ! __ start_a_stub(to_interp_stub_size()*2); ! if (base == NULL) return; // CodeBuffer::expand failed. // Static stub relocation stores the instruction address of the call. __ relocate(static_stub_Relocation::spec(mark)); __ set_metadata(NULL, as_Register(Matcher::inline_cache_reg_encode())); --- 51,75 ---- } // ---------------------------------------------------------------------------- #define __ _masm. ! address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf) { #ifdef COMPILER2 // Stub is fixed up when the corresponding call is converted from calling // compiled code to calling interpreted code. // set (empty), G5 // jmp -1 address mark = cbuf.insts_mark(); // Get mark within main instrs section. MacroAssembler _masm(&cbuf); ! address base = __ start_a_stub(to_interp_stub_size()); ! if (base == NULL) { ! return NULL; // CodeBuffer::expand failed. ! } // Static stub relocation stores the instruction address of the call. __ relocate(static_stub_Relocation::spec(mark)); __ set_metadata(NULL, as_Register(Matcher::inline_cache_reg_encode()));
*** 79,88 **** --- 80,90 ---- __ delayed()->nop(); // Update current stubs pointer and restore code_end. __ end_a_stub(); + return base; #else ShouldNotReachHere(); #endif } #undef __
< prev index next >