src/share/vm/ci/bcEscapeAnalyzer.cpp

changeset 2485
a7367756024b
parent 2484
bb2c2878f134
parent 2462
8012aa3ccede
child 2812
548597e74aa4
     1.1 --- a/src/share/vm/ci/bcEscapeAnalyzer.cpp	Thu Jan 20 08:25:22 2011 -0800
     1.2 +++ b/src/share/vm/ci/bcEscapeAnalyzer.cpp	Fri Jan 21 01:16:13 2011 -0800
     1.3 @@ -769,15 +769,15 @@
     1.4        case Bytecodes::_tableswitch:
     1.5          {
     1.6            state.spop();
     1.7 -          Bytecode_tableswitch* switch_ = Bytecode_tableswitch_at(s.cur_bcp());
     1.8 -          int len = switch_->length();
     1.9 +          Bytecode_tableswitch sw(&s);
    1.10 +          int len = sw.length();
    1.11            int dest_bci;
    1.12            for (int i = 0; i < len; i++) {
    1.13 -            dest_bci = s.cur_bci() + switch_->dest_offset_at(i);
    1.14 +            dest_bci = s.cur_bci() + sw.dest_offset_at(i);
    1.15              assert(_methodBlocks->is_block_start(dest_bci), "branch destination must start a block");
    1.16              successors.push(_methodBlocks->block_containing(dest_bci));
    1.17            }
    1.18 -          dest_bci = s.cur_bci() + switch_->default_offset();
    1.19 +          dest_bci = s.cur_bci() + sw.default_offset();
    1.20            assert(_methodBlocks->is_block_start(dest_bci), "branch destination must start a block");
    1.21            successors.push(_methodBlocks->block_containing(dest_bci));
    1.22            assert(s.next_bci() == limit_bci, "branch must end block");
    1.23 @@ -787,15 +787,15 @@
    1.24        case Bytecodes::_lookupswitch:
    1.25          {
    1.26            state.spop();
    1.27 -          Bytecode_lookupswitch* switch_ = Bytecode_lookupswitch_at(s.cur_bcp());
    1.28 -          int len = switch_->number_of_pairs();
    1.29 +          Bytecode_lookupswitch sw(&s);
    1.30 +          int len = sw.number_of_pairs();
    1.31            int dest_bci;
    1.32            for (int i = 0; i < len; i++) {
    1.33 -            dest_bci = s.cur_bci() + switch_->pair_at(i)->offset();
    1.34 +            dest_bci = s.cur_bci() + sw.pair_at(i).offset();
    1.35              assert(_methodBlocks->is_block_start(dest_bci), "branch destination must start a block");
    1.36              successors.push(_methodBlocks->block_containing(dest_bci));
    1.37            }
    1.38 -          dest_bci = s.cur_bci() + switch_->default_offset();
    1.39 +          dest_bci = s.cur_bci() + sw.default_offset();
    1.40            assert(_methodBlocks->is_block_start(dest_bci), "branch destination must start a block");
    1.41            successors.push(_methodBlocks->block_containing(dest_bci));
    1.42            fall_through = false;

mercurial