Question on C1's as_ValueType(ciConstant value) (original) (raw)
Krystal Mok rednaxelafx at gmail.com
Mon Jun 8 05:47:38 UTC 2015
- Previous message: 8054492: compiler/intrinsics/classcast/NullCheckDroppingsTest.java is an invalid test
- Next message: Question on C1's as_ValueType(ciConstant value)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi compiler team,
I'd like to ask a question about a piece of code in C1. The code snippet below is from the tip version of jdk9/hs-comp.
145 ValueType* as_ValueType(ciConstant value) { 146 switch (value.basic_type()) { 147 case T_BYTE : // fall through 148 case T_CHAR : // fall through 149 case T_SHORT : // fall through 150 case T_BOOLEAN: // fall through 151 case T_INT : return new IntConstant (value.as_int ()); 152 case T_LONG : return new LongConstant (value.as_long ()); 153 case T_FLOAT : return new FloatConstant (value.as_float ()); 154 case T_DOUBLE : return new DoubleConstant(value.as_double()); 155 case T_ARRAY : // fall through (ciConstant doesn't have an array accessor) 156 case T_OBJECT : return new ObjectConstant(value.as_object()); 157 } 158 ShouldNotReachHere(); 159 return illegalType; 160 }
On lines 155 and 156, both basic types T_ARRAY and T_OBJECT turns into a ObjectConstant. That's not consistent with the handling in GraphKit::load_constant(), where ArrayConstant, InstanceConstant and ObjectConstant are treated separately.
I ran into this inconsistency when I wanted to try out something with array constants. But I was only able to reach the constant from an ObjectConstant, instead of an ArrayConstant like I was expecting.
If people agree that this inconsistency should be fixed, I'd be happy to provide a patch and test it.
Thanks, Kris -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20150607/e3544f28/attachment.html>
- Previous message: 8054492: compiler/intrinsics/classcast/NullCheckDroppingsTest.java is an invalid test
- Next message: Question on C1's as_ValueType(ciConstant value)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the hotspot-compiler-dev mailing list