RFR: JDK-8241503: C2: Share MacroAssembler between mach nodes during code emission [v7]

Cesar Soares Lucas cslucas at openjdk.org
Thu Jan 4 04:00:08 UTC 2024


> # Description
> 
> Please review this PR with a patch to re-use the same C2_MacroAssembler object to emit all instructions in the same compilation unit.
> 
> Overall, the change is pretty simple. However, due to the renaming of the variable to access C2_MacroAssembler, from `_masm.` to `masm->`, and also some method prototype changes, the patch became quite large.
> 
> # Help Needed for Testing
> 
> I don't have access to all platforms necessary to test this. I hope some other folks can help with testing on `S390`, `RISC-V` and `PPC`.
> 
> # Tier-1 Testing status
> 
> |          |   Win   |   Mac   |  Linux  |
> |----------|---------|---------|---------|
> | ARM64    |    ✔     |    ✔     |         |
> | ARM32    |    n/a     |     n/a    |         |
> | x86      |         |         |    ✔     |
> | x64      |    ✔     |    ✔     |     ✔    |
> | PPC64    |  n/a       |   n/a      |         |
> | S390x    |   n/a      |   n/a      |         |
> | RiscV    |    n/a     |    n/a     |    ✔     |

Cesar Soares Lucas has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits:

 - Catch up with origin/master
 - Merge with origin/master
 - Fix build, copyright dates, m4 files.
 - Fix merge
 - Catch up with master branch.
   
   Merge remote-tracking branch 'origin/master' into reuse-macroasm
 - Some inst_mark fixes; Catch up with master.
 - Catch up with changes on master
 - Reuse same C2_MacroAssembler object to emit instructions.

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

Changes: https://git.openjdk.org/jdk/pull/16484/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16484&range=06
  Stats: 2446 lines in 61 files changed: 106 ins; 434 del; 1906 mod
  Patch: https://git.openjdk.org/jdk/pull/16484.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16484/head:pull/16484

PR: https://git.openjdk.org/jdk/pull/16484


More information about the shenandoah-dev mailing list