< prev index next >

src/hotspot/share/c1/c1_GraphBuilder.cpp

Print this page

        

*** 1322,1332 **** void GraphBuilder::table_switch() { Bytecode_tableswitch sw(stream()); const int l = sw.length(); ! if (CanonicalizeNodes && l == 1) { // total of 2 successors => use If instead of switch // Note: This code should go into the canonicalizer as soon as it can // can handle canonicalized forms that contain more than one node. Value key = append(new Constant(new IntConstant(sw.low_key()))); BlockBegin* tsux = block_at(bci() + sw.dest_offset_at(0)); --- 1322,1332 ---- void GraphBuilder::table_switch() { Bytecode_tableswitch sw(stream()); const int l = sw.length(); ! if (CanonicalizeNodes && l == 1 && compilation()->env()->comp_level() != CompLevel_full_profile) { // total of 2 successors => use If instead of switch // Note: This code should go into the canonicalizer as soon as it can // can handle canonicalized forms that contain more than one node. Value key = append(new Constant(new IntConstant(sw.low_key()))); BlockBegin* tsux = block_at(bci() + sw.dest_offset_at(0));
*** 1366,1376 **** void GraphBuilder::lookup_switch() { Bytecode_lookupswitch sw(stream()); const int l = sw.number_of_pairs(); ! if (CanonicalizeNodes && l == 1) { // total of 2 successors => use If instead of switch // Note: This code should go into the canonicalizer as soon as it can // can handle canonicalized forms that contain more than one node. // simplify to If LookupswitchPair pair = sw.pair_at(0); --- 1366,1376 ---- void GraphBuilder::lookup_switch() { Bytecode_lookupswitch sw(stream()); const int l = sw.number_of_pairs(); ! if (CanonicalizeNodes && l == 1 && compilation()->env()->comp_level() != CompLevel_full_profile) { // total of 2 successors => use If instead of switch // Note: This code should go into the canonicalizer as soon as it can // can handle canonicalized forms that contain more than one node. // simplify to If LookupswitchPair pair = sw.pair_at(0);
< prev index next >