< prev index next >
src/cpu/sparc/vm/compiledIC_sparc.cpp
Print this page
@@ -51,24 +51,25 @@
}
// ----------------------------------------------------------------------------
#define __ _masm.
-void CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf) {
+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()*2);
- if (base == NULL) return; // CodeBuffer::expand failed.
+ 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,10 +80,11 @@
__ delayed()->nop();
// Update current stubs pointer and restore code_end.
__ end_a_stub();
+ return base;
#else
ShouldNotReachHere();
#endif
}
#undef __
< prev index next >