RFR: JDK-8241503: C2: Share MacroAssembler between mach nodes during code emission [v6]
Martin Doerr
mdoerr at openjdk.org
Mon Dec 18 20:22:44 UTC 2023
On Thu, 14 Dec 2023 19:44:09 GMT, Cesar Soares Lucas <cslucas at openjdk.org> wrote:
>> # 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`.
>>
>> # Testing status
>>
>> ## tier1
>>
>> | | Win | Mac | Linux |
>> |----------|---------|---------|---------|
>> | ARM64 | | ✔ | |
>> | ARM32 | | | |
>> | x86 | | | ✔ |
>> | x64 | | | ✔ |
>> | PPC64 | | | |
>> | S390x | | | |
>> | 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 seven commits:
>
> - 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.
Cleanup is not bad. Fewer objects and a bit shorter code at some places are an advantage.
Maybe Vladimir had some more reasons in mind when filing the issue. It's linked to https://bugs.openjdk.org/browse/JDK-8239472. It'd be nice if you or Vladimir could add a bit of motivation to the description of the PR or the JBS issue.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16484#issuecomment-1861538259
More information about the shenandoah-dev
mailing list