RFR: 8295257: Remove implicit noreg temp register arguments in aarch64 MacroAssembler

Hao Sun haosun at openjdk.org
Thu Oct 13 08:01:06 UTC 2022


On Thu, 13 Oct 2022 06:12:49 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:

> Remove implicit `= noreg` temporary register arguments for the three methods that still have them.
>   * `load_heap_oop`
>   * `store_heap_oop`
>   * `load_heap_oop_not_null`
> 
> Only `load_heap_oop` is used with the implicit `= noreg` arguments.
> After [JDK-8293351](https://bugs.openjdk.org/browse/JDK-8293351) the GCs only use explicitly passed in registers. This will also be the case for generational ZGC. Where it currently requires `load_heap_oop` to provide a second temporary register.
> 
> Testing: linux-aarch64, macosx-aarch64 tier 1-3

I wonder if we can remove the implicit `= noreg` arguments for `load_sized_value()` and `store_sized_value()` as well?

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

PR: https://git.openjdk.org/jdk/pull/10688


More information about the hotspot-dev mailing list