On Wed, 6 May 2026 07:55:45 GMT, Aleksey Shipilev <[email protected]> wrote:

>> Andrew Haley has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains 111 commits:
>> 
>>  - Merge branch 'master' into JDK-8134940
>>  - Review comments
>>  - Review comments
>>  - Add FrameMap::last_fpu_reg()
>>  - Review comments
>>  - Review comments
>>  - Review comments
>>  - Merge branch 'JDK-8134940' of https://github.com/theRealAph/jdk into 
>> JDK-8134940
>>  - More
>>  - Merge branch 'JDK-8134940' of https://github.com/theRealAph/jdk into 
>> JDK-8134940
>>  - ... and 101 more: https://git.openjdk.org/jdk/compare/3e1d0b8e...4610777b
>
> src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp line 1910:
> 
>> 1908:   assert(ret_addr_offset == __ offset(), "embedded return address not 
>> allowed");
>> 1909:   add_call_info_here(op->info());
>> 1910:   __ restore_profile_rng();
> 
> All right, this handles Java calls. What about `rt_call`-s? They clobber 
> `xmm14/xmm15` that we are using for `UseVregsForProfileCapture` too, since 
> they are caller-save.

Good point.
x86 has _no_ callee-saved fp/vector registers. Because of that, we need to save 
and restore xmm14/xmm15 around all runtime calls, which generates a tonne of 
instructions and horribly bloats everything. In addition that moves many 
well-known offsets in the runtime code,which adds more things we'd have to 
change.
For that  reason I'm going to remove `UseVregsForProfileCapture`.  It's just 
too much for this experimental PR.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28541#discussion_r3220692589

Reply via email to