src/cpu/sparc/vm/compiledIC_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot Cdiff src/cpu/sparc/vm/compiledIC_sparc.cpp

src/cpu/sparc/vm/compiledIC_sparc.cpp

Print this page

        

*** 51,68 **** } // ---------------------------------------------------------------------------- #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) { --- 51,69 ---- } // ---------------------------------------------------------------------------- #define __ _masm. ! address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark) { // Stub is fixed up when the corresponding call is converted from calling // compiled code to calling interpreted code. // set (empty), G5 // jmp -1 ! if (mark == NULL) { ! 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) {
*** 78,93 **** AddressLiteral addrlit(-1); __ JUMP(addrlit, G3, 0); __ delayed()->nop(); // Update current stubs pointer and restore code_end. __ end_a_stub(); return base; - #else - ShouldNotReachHere(); - #endif } #undef __ int CompiledStaticCall::to_interp_stub_size() { // This doesn't need to be accurate but it must be larger or equal to --- 79,93 ---- AddressLiteral addrlit(-1); __ JUMP(addrlit, G3, 0); __ delayed()->nop(); + assert(__ pc() - base <= to_interp_stub_size(), "wrong stub size"); + // Update current stubs pointer and restore code_end. __ end_a_stub(); return base; } #undef __ int CompiledStaticCall::to_interp_stub_size() { // This doesn't need to be accurate but it must be larger or equal to
src/cpu/sparc/vm/compiledIC_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File