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