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

Cesar Soares Lucas cslucas at openjdk.org
Thu Nov 2 22:36:20 UTC 2023


# 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`.

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

Commit messages:
 - 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=00
  Issue: https://bugs.openjdk.org/browse/JDK-8241503
  Stats: 2665 lines in 60 files changed: 112 ins; 429 del; 2124 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