1.1 --- a/src/share/vm/opto/compile.cpp Tue Aug 16 04:14:05 2011 -0700 1.2 +++ b/src/share/vm/opto/compile.cpp Tue Aug 16 11:53:57 2011 -0700 1.3 @@ -519,15 +519,18 @@ 1.4 // Do the emission. 1.5 1.6 Label fakeL; // Fake label for branch instructions. 1.7 - bool is_branch = n->is_Branch() && n->as_Mach()->ideal_Opcode() != Op_Jump; 1.8 + Label* saveL = NULL; 1.9 + uint save_bnum = 0; 1.10 + bool is_branch = n->is_MachBranch(); 1.11 if (is_branch) { 1.12 MacroAssembler masm(&buf); 1.13 masm.bind(fakeL); 1.14 - n->as_Mach()->label_set(&fakeL, 0); 1.15 + n->as_MachBranch()->save_label(&saveL, &save_bnum); 1.16 + n->as_MachBranch()->label_set(&fakeL, 0); 1.17 } 1.18 n->emit(buf, this->regalloc()); 1.19 - if (is_branch) // Clear the reference to fake label. 1.20 - n->as_Mach()->label_set(NULL, 0); 1.21 + if (is_branch) // Restore label. 1.22 + n->as_MachBranch()->label_set(saveL, save_bnum); 1.23 1.24 // End scratch_emit_size section. 1.25 set_in_scratch_emit_size(false);