Print this page


Split Split Close
Expand all
Collapse all
          --- old/src/share/vm/opto/graphKit.cpp
          +++ new/src/share/vm/opto/graphKit.cpp
↓ open down ↓ 1117 lines elided ↑ open up ↑
1118 1118  }
1119 1119  
1120 1120  Node* GraphKit::ConvI2L(Node* offset) {
1121 1121    // short-circuit a common case
1122 1122    jint offset_con = find_int_con(offset, Type::OffsetBot);
1123 1123    if (offset_con != Type::OffsetBot) {
1124 1124      return longcon((jlong) offset_con);
1125 1125    }
1126 1126    return _gvn.transform( new (C) ConvI2LNode(offset));
1127 1127  }
     1128 +
     1129 +Node* GraphKit::ConvI2UL(Node* offset) {
     1130 +  juint offset_con = (juint) find_int_con(offset, Type::OffsetBot);
     1131 +  if (offset_con != (juint) Type::OffsetBot) {
     1132 +    return longcon((julong) offset_con);
     1133 +  }
     1134 +  Node* conv = _gvn.transform( new (C) ConvI2LNode(offset));
     1135 +  Node* mask = _gvn.transform( ConLNode::make(C, (julong) max_juint) );
     1136 +  return _gvn.transform( new (C) AndLNode(conv, mask) );
     1137 +}
     1138 +
1128 1139  Node* GraphKit::ConvL2I(Node* offset) {
1129 1140    // short-circuit a common case
1130 1141    jlong offset_con = find_long_con(offset, (jlong)Type::OffsetBot);
1131 1142    if (offset_con != (jlong)Type::OffsetBot) {
1132 1143      return intcon((int) offset_con);
1133 1144    }
1134 1145    return _gvn.transform( new (C) ConvL2INode(offset));
1135 1146  }
1136 1147  
1137 1148  //-------------------------load_object_klass-----------------------------------
↓ open down ↓ 3002 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX