File tree Expand file tree Collapse file tree 2 files changed +11
-2
lines changed Expand file tree Collapse file tree 2 files changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -456,6 +456,9 @@ void ArrayCopyStub::emit_code(LIR_Assembler* ce) {
456
456
__ extsw (R7_ARG5, length ()->as_register ());
457
457
458
458
ce->emit_static_call_stub ();
459
+ if (ce->compilation ()->bailed_out ()) {
460
+ return ; // CodeCache is full
461
+ }
459
462
460
463
bool success = ce->emit_trampoline_stub_for_call (SharedRuntime::get_resolve_static_call_stub ());
461
464
if (!success) { return ; }
Original file line number Diff line number Diff line change @@ -2027,7 +2027,10 @@ int HandlerImpl::emit_exception_handler(CodeBuffer &cbuf) {
2027
2027
C2_MacroAssembler _masm(&cbuf);
2028
2028
2029
2029
address base = __ start_a_stub(size_exception_handler());
2030
- if (base == nullptr) return 0; // CodeBuffer::expand failed
2030
+ if (base == nullptr) {
2031
+ ciEnv::current()->record_failure("CodeCache is full");
2032
+ return 0; // CodeBuffer::expand failed
2033
+ }
2031
2034
2032
2035
int offset = __ offset();
2033
2036
__ b64_patchable((address)OptoRuntime::exception_blob()->content_begin(),
@@ -2044,7 +2047,10 @@ int HandlerImpl::emit_deopt_handler(CodeBuffer& cbuf) {
2044
2047
C2_MacroAssembler _masm(&cbuf);
2045
2048
2046
2049
address base = __ start_a_stub(size_deopt_handler());
2047
- if (base == nullptr) return 0; // CodeBuffer::expand failed
2050
+ if (base == nullptr) {
2051
+ ciEnv::current()->record_failure("CodeCache is full");
2052
+ return 0; // CodeBuffer::expand failed
2053
+ }
2048
2054
2049
2055
int offset = __ offset();
2050
2056
__ bl64_patchable((address)SharedRuntime::deopt_blob()->unpack(),
You can’t perform that action at this time.
0 commit comments