src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 7079317 Cdiff src/share/vm/opto/compile.cpp

src/share/vm/opto/compile.cpp

Print this page

        

*** 517,535 **** buf.stubs()->initialize_shared_locs( &locs_buf[lsize * 2], lsize); // Do the emission. Label fakeL; // Fake label for branch instructions. ! bool is_branch = n->is_Branch() && n->as_Mach()->ideal_Opcode() != Op_Jump; if (is_branch) { MacroAssembler masm(&buf); masm.bind(fakeL); ! n->as_Mach()->label_set(&fakeL, 0); } n->emit(buf, this->regalloc()); ! if (is_branch) // Clear the reference to fake label. ! n->as_Mach()->label_set(NULL, 0); // End scratch_emit_size section. set_in_scratch_emit_size(false); return buf.insts_size(); --- 517,538 ---- buf.stubs()->initialize_shared_locs( &locs_buf[lsize * 2], lsize); // Do the emission. Label fakeL; // Fake label for branch instructions. ! Label* saveL = NULL; ! uint save_bnum = 0; ! bool is_branch = n->is_MachBranch(); if (is_branch) { MacroAssembler masm(&buf); masm.bind(fakeL); ! n->as_MachBranch()->save_label(&saveL, &save_bnum); ! n->as_MachBranch()->label_set(&fakeL, 0); } n->emit(buf, this->regalloc()); ! if (is_branch) // Restore label. ! n->as_MachBranch()->label_set(saveL, save_bnum); // End scratch_emit_size section. set_in_scratch_emit_size(false); return buf.insts_size();
src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File