< prev index next >

src/cpu/ppc/vm/compiledIC_ppc.cpp

Print this page

        

@@ -92,11 +92,11 @@
 //
 // Usage of r1 and r2 in the stubs allows to distinguish them.
 
 const int IC_pos_in_java_to_interp_stub = 8;
 #define __ _masm.
-void CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf) {
+address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf) {
 #ifdef COMPILER2
   // Get the mark within main instrs section which is set to the address of the call.
   address call_addr = cbuf.insts_mark();
 
   // Note that the code buffer's insts_mark is always relative to insts.

@@ -104,12 +104,11 @@
   MacroAssembler _masm(&cbuf);
 
   // Start the stub.
   address stub = __ start_a_stub(CompiledStaticCall::to_interp_stub_size());
   if (stub == NULL) {
-    Compile::current()->env()->record_out_of_memory_failure();
-    return;
+    return NULL; // CodeCache is full
   }
 
   // For java_to_interp stubs we use R11_scratch1 as scratch register
   // and in call trampoline stubs we use R12_scratch2. This way we
   // can distinguish them (see is_NativeCallTrampolineStub_at()).

@@ -147,10 +146,11 @@
   assert(!is_NativeCallTrampolineStub_at(__ addr_at(stub_start_offset)),
          "must not confuse java_to_interp with trampoline stubs");
 
  // End the stub.
   __ end_a_stub();
+  return stub;
 #else
   ShouldNotReachHere();
 #endif
 }
 #undef __
< prev index next >