< prev index next >

src/share/vm/opto/output.cpp

Print this page

        

*** 1502,1511 **** --- 1502,1519 ---- // "Normal" instruction case DEBUG_ONLY( uint instr_offset = cb->insts_size(); ) n->emit(*cb, _regalloc); current_offset = cb->insts_size(); + // Above we only verified that there is enough space in the instruction section. + // However, the instruction may emit stubs that cause code buffer expansion. + // Bail out here if expansion failed due to lack of code cache space. + if (cb->blob() == NULL) { + C->record_failure("CodeCache is full"); + return; + } + #ifdef ASSERT if (n->size(_regalloc) < (current_offset-instr_offset)) { n->dump(); assert(false, "wrong size of mach node"); }
< prev index next >