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 @@ -475,6 +475,9 @@ void ArrayCopyStub::emit_code(LIR_Assembler* ce) {
475
475
__ extsw (R7_ARG5, length ()->as_register ());
476
476
477
477
ce->emit_static_call_stub ();
478
+ if (ce->compilation ()->bailed_out ()) {
479
+ return ; // CodeCache is full
480
+ }
478
481
479
482
bool success = ce->emit_trampoline_stub_for_call (SharedRuntime::get_resolve_static_call_stub ());
480
483
if (!success) { return ; }
Original file line number Diff line number Diff line change @@ -2064,7 +2064,10 @@ int HandlerImpl::emit_exception_handler(CodeBuffer &cbuf) {
2064
2064
C2_MacroAssembler _masm(&cbuf);
2065
2065
2066
2066
address base = __ start_a_stub(size_exception_handler());
2067
- if (base == NULL) return 0; // CodeBuffer::expand failed
2067
+ if (base == nullptr) {
2068
+ ciEnv::current()->record_failure("CodeCache is full");
2069
+ return 0; // CodeBuffer::expand failed
2070
+ }
2068
2071
2069
2072
int offset = __ offset();
2070
2073
__ b64_patchable((address)OptoRuntime::exception_blob()->content_begin(),
@@ -2081,7 +2084,10 @@ int HandlerImpl::emit_deopt_handler(CodeBuffer& cbuf) {
2081
2084
C2_MacroAssembler _masm(&cbuf);
2082
2085
2083
2086
address base = __ start_a_stub(size_deopt_handler());
2084
- if (base == NULL) return 0; // CodeBuffer::expand failed
2087
+ if (base == nullptr) {
2088
+ ciEnv::current()->record_failure("CodeCache is full");
2089
+ return 0; // CodeBuffer::expand failed
2090
+ }
2085
2091
2086
2092
int offset = __ offset();
2087
2093
__ bl64_patchable((address)SharedRuntime::deopt_blob()->unpack(),
You can’t perform that action at this time.
0 commit comments