Integrated: 8353174: Clean up thread register handling after 32-bit x86 removal
Aleksey Shipilev
shade at openjdk.org
Wed Apr 9 07:31:45 UTC 2025
On Mon, 31 Mar 2025 10:19:57 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> Various `MacroAssembler` methods have this code to support passing the thread register, and getting it if `noreg` is passed:
>
>
> // determine java_thread register
> if (!java_thread->is_valid()) {
> #ifdef _LP64
> java_thread = r15_thread;
> #else
> java_thread = rdi;
> get_thread(java_thread);
> #endif // LP64
> }
>
>
> This never happens after 32-bit x86 removal. x86_64 always uses r15_thread. We can clean those up.
>
> These are also the only major users of `MacroAssembler::get_thread` that we want to remove/rename to avoid falling into traps like [JDK-8353176](https://bugs.openjdk.org/browse/JDK-8353176).
>
>
> Additional testing:
> - [x] Linux x86_64 server fastdebug, `all`
This pull request has now been integrated.
Changeset: 6df34c36
Author: Aleksey Shipilev <shade at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/6df34c361e0d1b6fe90ca97c1aaa56e57a86d12c
Stats: 233 lines in 15 files changed: 16 ins; 98 del; 119 mod
8353174: Clean up thread register handling after 32-bit x86 removal
Reviewed-by: cslucas, kvn, vlivanov
-------------
PR: https://git.openjdk.org/jdk/pull/24323
More information about the hotspot-dev
mailing list