RFR: 8299079: Better interface nmethod oop accesses
David Holmes
dholmes at openjdk.org
Thu Dec 22 04:30:51 UTC 2022
On Tue, 20 Dec 2022 08:29:09 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:
> Today when oops are read from nmethods, we use the same interfacing that we would use to read any other IN_NATIVE oops. That isn't enough for generational ZGC. The nmethod oops are rather different from other IN_NATIVE oops in that they are encoded in the machine code as direct pointers. Normally, IN_NATIVE oops with generational ZGC are not direct pointers, but are colored pointered that can be converted to direct pointers by going through a load barrier. For nmethod oops, that conversion requires external knowledge from the surrounding nmethod. I propose a new NMethodAccess to interface better with the GC.
A couple of minor nits, but the new API looks fine. Thanks.
src/hotspot/share/code/nmethod.cpp line 1465:
> 1463: return NULL;
> 1464: }
> 1465:
Nit: the extra blank lines are unnecessary.
src/hotspot/share/oops/access.hpp line 289:
> 287:
> 288: // Helper for performing accesses in nmethods. These accesses
> 289: // may resolve an accessor on a GC barrier set
Nit: period at end of sentence please.
-------------
Marked as reviewed by dholmes (Reviewer).
PR: https://git.openjdk.org/jdk/pull/11738
More information about the hotspot-dev
mailing list