hotspot/src/cpu/sparc/vm/compiledIC_sparc.cpp
changeset 33160 c59f1676d27e
parent 32082 2a3323e25de1
child 38035 a6105022c551
--- a/hotspot/src/cpu/sparc/vm/compiledIC_sparc.cpp	Thu Oct 08 10:25:45 2015 +0000
+++ b/hotspot/src/cpu/sparc/vm/compiledIC_sparc.cpp	Thu Oct 08 12:49:30 2015 -1000
@@ -53,14 +53,15 @@
 // ----------------------------------------------------------------------------
 
 #define __ _masm.
-address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf) {
-#ifdef COMPILER2
+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
 
-  address mark = cbuf.insts_mark();  // Get mark within main instrs section.
+  if (mark == NULL) {
+    mark = cbuf.insts_mark();  // Get mark within main instrs section.
+  }
 
   MacroAssembler _masm(&cbuf);
 
@@ -80,12 +81,11 @@
 
   __ 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;
-#else
-  ShouldNotReachHere();
-#endif
 }
 #undef __