RFR: JDK-8241503: C2: Share MacroAssembler between mach nodes during code emission [v6]
Cesar Soares Lucas
cslucas at openjdk.org
Mon Dec 18 18:19:43 UTC 2023
On Sat, 16 Dec 2023 12:44:12 GMT, Andrew Haley <aph at openjdk.org> wrote:
>> 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.
>
> It seems odd to me that this substantial and complex patch lacks any justification. As far as I can tell, the decision to make class MacroAssembler very lightweight so that new instances could be created as needed was deliberate. Why change now? Is it performance, or something else?
@theRealAph , @TheRealMDoerr - I just picked a JBS work item that seemed important (P3..) and started working on it. To me the refactoring made a lot of sense as well - why just create thousands of objects if just a few would do.
If this is something that doesn't need to be done, please let me know. It already took substantial effort as you said.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16484#issuecomment-1861244791
More information about the shenandoah-dev
mailing list