[lworld] RFR: 8251046: [lworld] [lw3] C1 should avoid heap allocations in withfield when possible [v4]
Frederic Parain
fparain at openjdk.java.net
Mon Aug 10 15:34:29 UTC 2020
> 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
-------------
Changes:
- all: https://git.openjdk.java.net/valhalla/pull/137/files
- new: https://git.openjdk.java.net/valhalla/pull/137/files/88bd48e4..8d91e615
Webrevs:
- full: https://webrevs.openjdk.java.net/valhalla/137/webrev.03
- incr: https://webrevs.openjdk.java.net/valhalla/137/webrev.02-03
Stats: 15 lines in 1 file changed: 2 ins; 2 del; 11 mod
Patch: https://git.openjdk.java.net/valhalla/pull/137.diff
Fetch: git fetch https://git.openjdk.java.net/valhalla pull/137/head:pull/137
PR: https://git.openjdk.java.net/valhalla/pull/137
More information about the valhalla-dev
mailing list