src/share/vm/opto/mulnode.cpp

changeset 4164
d804e148cff8
parent 4153
b9a9ed0f8eeb
parent 4160
f6badecb7ea7
child 4202
67f4c477c9ab
     1.1 --- a/src/share/vm/opto/mulnode.cpp	Tue Oct 09 10:09:34 2012 -0700
     1.2 +++ b/src/share/vm/opto/mulnode.cpp	Fri Oct 12 09:22:52 2012 -0700
     1.3 @@ -599,20 +599,6 @@
     1.4    Node* in1 = in(1);
     1.5    uint op = in1->Opcode();
     1.6  
     1.7 -  // Masking sign bits off of an integer?  Do an unsigned integer to
     1.8 -  // long load.
     1.9 -  // NOTE: This check must be *before* we try to convert the AndLNode
    1.10 -  // to an AndINode and commute it with ConvI2LNode because
    1.11 -  // 0xFFFFFFFFL masks the whole integer and we get a sign extension,
    1.12 -  // which is wrong.
    1.13 -  if (op == Op_ConvI2L && in1->in(1)->Opcode() == Op_LoadI && mask == CONST64(0x00000000FFFFFFFF)) {
    1.14 -    Node* load = in1->in(1);
    1.15 -    return new (phase->C) LoadUI2LNode(load->in(MemNode::Control),
    1.16 -                                          load->in(MemNode::Memory),
    1.17 -                                          load->in(MemNode::Address),
    1.18 -                                          load->adr_type());
    1.19 -  }
    1.20 -
    1.21    // Are we masking a long that was converted from an int with a mask
    1.22    // that fits in 32-bits?  Commute them and use an AndINode.  Don't
    1.23    // convert masks which would cause a sign extension of the integer

mercurial