JDK-8302092 : Speed up compiler/codegen/TestGCMStorePlacement.java
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 21
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2023-02-08
  • Updated: 2023-02-22
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Relates :  
Description
https://github.com/openjdk/jdk/blame/master/test/hotspot/jtreg/compiler/codegen/TestGCMStorePlacement.java

This test takes about 50sec in tier1, and is among the slowest compiler test in tier1.

Try this:
1) check which @run take the most time.
2) lower the iterations, and maybe some threasholds.
3) verify that the same compilations are triggered, OSR and regular.

First analysis:

regularReducible1 - 0.7 sec
regularReducible2 - 9.8 sec
regularReducible3 - 14.3 sec
regularReducible4 - 14.7 sec
osrReducible1 - 10.2 sec
osrReducible2 - 10.2 sec
osrIrreducible1 - 0.7

Getting info of: -XX:CompileCommand=printcompilation,compiler.codegen.TestGCMStorePlacement::*

regularReducible1 - 0.7 sec
    638  509    b  3       compiler.codegen.TestGCMStorePlacement::testRegularReducible1 (34 bytes)
    639  512    b  4       compiler.codegen.TestGCMStorePlacement::testRegularReducible1 (34 bytes)
    645  516 %  b  3       compiler.codegen.TestGCMStorePlacement::main @ 218 (436 bytes)
    648  517    b  3       compiler.codegen.TestGCMStorePlacement::main (436 bytes)
    651  518 %  b  4       compiler.codegen.TestGCMStorePlacement::testRegularReducible1 @ 12 (34 bytes)
    652  519 %  b  3       compiler.codegen.TestGCMStorePlacement::main @ 218 (436 bytes)

regularReducible2 - 9.8 sec
   9359 3531    b        compiler.codegen.TestGCMStorePlacement::main (436 bytes)
   9674 3627    b        compiler.codegen.TestGCMStorePlacement::testRegularReducible2 (100 bytes)

regularReducible3 - 14.3 sec
  13468 6573    b  3       compiler.codegen.TestGCMStorePlacement::main (436 bytes)
  14074 6770    b  4       compiler.codegen.TestGCMStorePlacement::main (436 bytes)
  14077 6771    b  3       compiler.codegen.TestGCMStorePlacement::testRegularReducible3 (95 bytes)
  14078 6772    b  4       compiler.codegen.TestGCMStorePlacement::testRegularReducible3 (95 bytes)

regularReducible4 - 14.7 sec
  13550 6572    b  3       compiler.codegen.TestGCMStorePlacement::main (436 bytes)
  14142 6769    b  4       compiler.codegen.TestGCMStorePlacement::main (436 bytes)
  14146 6770    b  3       compiler.codegen.TestGCMStorePlacement::testRegularReducible4 (74 bytes)
  14146 6771    b  4       compiler.codegen.TestGCMStorePlacement::testRegularReducible4 (74 bytes)

osrReducible1 - 10.2 sec
   9380 3531    b        compiler.codegen.TestGCMStorePlacement::main (436 bytes)
   9692 3627   !b        compiler.codegen.TestGCMStorePlacement::testOsrReducible1 (88 bytes)
   9693 3628    b        compiler.codegen.TestGCMStorePlacement::bar (38 bytes)
   9695 3632    b        compiler.codegen.TestGCMStorePlacement::foo (4 bytes)
   9729 3633 % !b        compiler.codegen.TestGCMStorePlacement::testOsrReducible1 @ 13 (88 bytes)

osrReducible2 - 10.2 sec
   9431 3531    b        compiler.codegen.TestGCMStorePlacement::main (436 bytes)
   9750 3627    b        compiler.codegen.TestGCMStorePlacement::testOsrReducible2 (62 bytes)
   9812 3657 %  b        compiler.codegen.TestGCMStorePlacement::testOsrReducible2 @ 18 (62 bytes)
   9813 3658    b        compiler.codegen.TestGCMStorePlacement::testOsrReducible2 (62 bytes)

osrIrreducible1 - 0.7
    670  508 %  b  3       compiler.codegen.TestGCMStorePlacement::testOsrIrreducible1 @ 46 (95 bytes)
    670  509    b  3       compiler.codegen.TestGCMStorePlacement::testOsrIrreducible1 (95 bytes)
    671  510 %  b  4       compiler.codegen.TestGCMStorePlacement::testOsrIrreducible1 @ 46 (95 bytes)
    673  511 %  b  3       compiler.codegen.TestGCMStorePlacement::testOsrIrreducible1 @ 46 (95 bytes)
    674  512 %  b  4       compiler.codegen.TestGCMStorePlacement::testOsrIrreducible1 @ 46 (95 bytes)