src/share/vm/opto/compile.cpp

changeset 3037
3d42f82cd811
parent 2986
7889bbcc7f88
child 3051
11211f7cb5a0
     1.1 --- a/src/share/vm/opto/compile.cpp	Thu Jul 21 08:38:25 2011 -0700
     1.2 +++ b/src/share/vm/opto/compile.cpp	Thu Jul 21 11:25:07 2011 -0700
     1.3 @@ -517,7 +517,17 @@
     1.4    buf.stubs()->initialize_shared_locs( &locs_buf[lsize * 2], lsize);
     1.5  
     1.6    // Do the emission.
     1.7 +
     1.8 +  Label fakeL; // Fake label for branch instructions.
     1.9 +  bool is_branch = n->is_Branch() && n->as_Mach()->ideal_Opcode() != Op_Jump;
    1.10 +  if (is_branch) {
    1.11 +    MacroAssembler masm(&buf);
    1.12 +    masm.bind(fakeL);
    1.13 +    n->as_Mach()->label_set(&fakeL, 0);
    1.14 +  }
    1.15    n->emit(buf, this->regalloc());
    1.16 +  if (is_branch) // Clear the reference to fake label.
    1.17 +    n->as_Mach()->label_set(NULL, 0);
    1.18  
    1.19    // End scratch_emit_size section.
    1.20    set_in_scratch_emit_size(false);

mercurial