[lworld] RFR: 8251046: [lworld] [lw3] C1 should avoid heap allocations in withfield when possible [v2]
    Frederic Parain 
    fparain at openjdk.java.net
       
    Mon Aug 10 15:01:07 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 two additional commits since the last revision:
 - Refactor larva update methods
 - Fixes from review feedback
-------------
Changes:
  - all: https://git.openjdk.java.net/valhalla/pull/137/files
  - new: https://git.openjdk.java.net/valhalla/pull/137/files/3b486e32..c30c64a0
Webrevs:
 - full: https://webrevs.openjdk.java.net/valhalla/137/webrev.01
 - incr: https://webrevs.openjdk.java.net/valhalla/137/webrev.00-01
  Stats: 36 lines in 4 files changed: 13 ins; 3 del; 20 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