< prev index next >
src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
Print this page
*** 670,679 ****
--- 670,680 ----
|| entry.rspec().type() == relocInfo::virtual_call_type, "wrong reloc type");
unsigned int start_offset = offset();
if (far_branches() && !Compile::current()->in_scratch_emit_size()) {
emit_trampoline_stub(offset(), entry.target());
+ if (Compile::current()->failing()) { return; } // CodeCache is full
}
if (cbuf) cbuf->set_insts_mark();
relocate(entry.rspec());
if (Assembler::reachable_from_branch_at(pc(), entry.target())) {
*** 697,708 ****
void MacroAssembler::emit_trampoline_stub(int insts_call_instruction_offset,
address dest) {
address stub = start_a_stub(Compile::MAX_stubs_size/2);
if (stub == NULL) {
- start_a_stub(Compile::MAX_stubs_size/2);
- Compile::current()->env()->record_out_of_memory_failure();
return;
}
// Create a trampoline stub relocation which relates this trampoline stub
// with the call instruction at insts_call_instruction_offset in the
--- 698,707 ----
< prev index next >