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