[lworld] RFR: 8251046: [lworld] [lw3] C1 should avoid heap allocations in withfield when possible [v4]

Tobias Hartmann thartmann at openjdk.java.net
Mon Aug 10 15:34:33 UTC 2020


On Mon, 10 Aug 2020 15:17:35 GMT, Frederic Parain <fparain at openjdk.org> wrote:

>> Please review this patch which reduces the number of heap allocations when executing the withfield bytecode with C1.
>> The CR linked below contains a more detailed description of the optimization:
>> 
>> CR: https://bugs.openjdk.java.net/browse/JDK-8251046
>> 
>> A rudimentary benchmark shows encouraging numbers:
>> Measuring inline type creation time with -XX:TieredStopAtLevel=1
>> Inline class Point has two int fields.
>> Inline class Rectangle has four int fields.
>> 
>> Without the optimization:
>> Benchmark                                Mode  Samples   Score  Score error  Units
>> o.s.MyBenchmark.testPointCreation        avgt      200   7.573        0.027  ns/op
>> o.s.MyBenchmark.testRectangleCreation    avgt      200  21.387        0.067  ns/op
>> 
>> With the optimization:
>> Benchmark                                Mode  Samples  Score  Score error  Units
>> o.s.MyBenchmark.testPointCreation        avgt      200  5.284        0.014  ns/op
>> o.s.MyBenchmark.testRectangleCreation    avgt      200  7.750        0.082  ns/op
>> 
>> Tested manually and with Mach5, tiers 1 to 3 (with Tobias' changes enabling more C1 testing).
>> 
>> Thank you,
>> 
>> Fred
>
> Frederic Parain has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix method indentation

Looks good to me. Thanks for making these changes!

-------------

Marked as reviewed by thartmann (Committer).

PR: https://git.openjdk.java.net/valhalla/pull/137



More information about the valhalla-dev mailing list