RFR: JDK-8241503: C2: Share MacroAssembler between mach nodes during code emission [v6]
Andrew Haley
aph at openjdk.org
Thu Dec 21 09:44:52 UTC 2023
On Wed, 20 Dec 2023 11:11:07 GMT, Martin Doerr <mdoerr 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.
>
> Thanks for the explanation! Makes sense.
> @TheRealMDoerr motivation is to reduce memory consumption and speed up C2. `C2_MacroAssembler` is based on `ResourceObj` which allocates in compiler arena. Each small `C2_MacroAssembler masm()` will add allocation to arena until we finish compilation. Also speedup because we don't need to do such allocations.
I see. I updated the bug entry because we need an audit trail for such decisions.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16484#issuecomment-1865950233
More information about the shenandoah-dev
mailing list