RFR: 8286897: Loom: Cleanup x86_64 StubGenerator [v2]
Aleksey Shipilev
shade at openjdk.java.net
Wed May 18 06:05:53 UTC 2022
On Tue, 17 May 2022 18:03:04 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>>
>> More changes from x86_32 PR
>
> src/hotspot/cpu/x86/stubGenerator_x86_64.cpp line 7455:
>
>> 7453: OopMapSet* oop_maps = new OopMapSet();
>> 7454: OopMap* map = new OopMap(framesize, 1);
>> 7455: oop_maps->add_gc_map(the_pc - start, map);
>
> Use `frame_complete`.
Done.
> src/hotspot/cpu/x86/stubGenerator_x86_64.cpp line 7460:
>
>> 7458: __ movptr(c_rarg0, r15_thread);
>> 7459: __ movptr(c_rarg1, rsp);
>> 7460: __ call_VM_leaf(Continuation::freeze_entry(), 2);
>
> Was it bug to not set `c_rarg1`? stubGenerator_aarch64.cpp has the same issue.
Ah, so this one is little "behavioral" change. For some weird reason, the `__ movptr(c_rarg1, rsp);` used to be much earlier, between `start` and `the_pc`. I don't believe that's part of the frame setup. It looks like a copy-paste glitch from `generate_throw_exception`. So I just moved it here. No tests complain about this move.
> src/hotspot/cpu/x86/stubGenerator_x86_64.cpp line 7666:
>
>> 7664: OopMapSet* oop_maps = new OopMapSet();
>> 7665: OopMap* map = new OopMap(framesize, 1); // rbp
>> 7666: oop_maps->add_gc_map(the_pc - start, map);
>
> You can use `frame_complete` here too.
Done.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8755
More information about the hotspot-dev
mailing list