diff src/cpu/x86/vm/c1_CodeStubs_x86.cpp @ 24000:c3d0bd36ab28

8130309: Need to bailout cleanly if creation of stubs fails when codecache is out of space Summary: Check for failed expansion of stub section in code buffer and bailout. Reviewed-by: kvn, thartmann
author vkempik
date Thu, 21 Apr 2016 16:19:33 +0300
parents 55fb97c4c58d
children 9b69cec6d01b
line wrap: on
line diff
--- a/src/cpu/x86/vm/c1_CodeStubs_x86.cpp	Mon Mar 14 12:35:48 2016 +0300
+++ b/src/cpu/x86/vm/c1_CodeStubs_x86.cpp	Thu Apr 21 16:19:33 2016 +0300
@@ -502,6 +502,9 @@
   ce->align_call(lir_static_call);
 
   ce->emit_static_call_stub();
+  if (ce->compilation()->bailed_out()) {
+    return; // CodeCache is full
+  }
   AddressLiteral resolve(SharedRuntime::get_resolve_static_call_stub(),
                          relocInfo::static_call_type);
   __ call(resolve);