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) {
456456 __ extsw (R7_ARG5, length ()->as_register ());
457457
458458 ce->emit_static_call_stub ();
459+ if (ce->compilation ()->bailed_out ()) {
460+ return ; // CodeCache is full
461+ }
459462
460463 bool success = ce->emit_trampoline_stub_for_call (SharedRuntime::get_resolve_static_call_stub ());
461464 if (!success) { return ; }
Original file line number Diff line number Diff line change @@ -2027,7 +2027,10 @@ int HandlerImpl::emit_exception_handler(CodeBuffer &cbuf) {
20272027 C2_MacroAssembler _masm(&cbuf);
20282028
20292029 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+ }
20312034
20322035 int offset = __ offset();
20332036 __ b64_patchable((address)OptoRuntime::exception_blob()->content_begin(),
@@ -2044,7 +2047,10 @@ int HandlerImpl::emit_deopt_handler(CodeBuffer& cbuf) {
20442047 C2_MacroAssembler _masm(&cbuf);
20452048
20462049 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+ }
20482054
20492055 int offset = __ offset();
20502056 __ bl64_patchable((address)SharedRuntime::deopt_blob()->unpack(),
You can’t perform that action at this time.
0 commit comments