RFR (S) 8150102: C1 should fold arraylength for constant/trusted arrays

Aleksey Shipilev aleksey.shipilev at oracle.com
Thu Feb 18 08:16:41 UTC 2016

On 02/18/2016 11:08 AM, Vladimir Ivanov wrote:
> Looks good.


> On 2/18/16 2:05 AM, Aleksey Shipilev wrote:
>> Hi,
>> Please review a small tuneup in C1 arraylength folding:
>>    https://bugs.openjdk.java.net/browse/JDK-8150102
>>    http://cr.openjdk.java.net/~shade/8150102/webrev.00
>> After this patch, C1 successfully folds the general arraylength
>> accesses. In the end, this lets to fold String.length() for constant
>> Strings:
>>    http://cr.openjdk.java.net/~shade/8150102/FoldArrayLength.java
>> I am actually wondering if as_LoadField path is ever hit in
>> applications, because the targeted microbenchmark for static final array
>> had improved with new as_Constant path.
> I don't think it happens. GraphBuilder::access_field already folds loads
> into constants.

So, would you like me to strip away as_LoadField path, and place a debug
assert there?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160218/b8c914de/signature-0001.asc>

More information about the hotspot-compiler-dev mailing list