RFR: 8315954: getArgumentValues002.java fails on Graal

Doug Simon dnsimon at openjdk.org
Wed Sep 13 09:57:59 UTC 2023


On Wed, 13 Sep 2023 09:46:01 GMT, Doug Simon <dnsimon at openjdk.org> wrote:

> This PR adds `ResolvedJavaMethod.getLiveObjectLocalsAt` to get the oop map for a method at a given BCI. This is required to do correct clearing of oop locals at OSR entry points.
> 
> As part of this addition, I needed to be able to detect requests for oop maps at invalid BCIs. For this, I added `InterpreterOopMap::has_valid_mask()`. When an oop map computation is requested for an invalid BCI, this method returns false.

src/hotspot/share/interpreter/oopMapCache.cpp line 204:

> 202: void InterpreterOopMap::initialize() {
> 203:   _method    = nullptr;
> 204:   _mask_size = INT_MAX;  // This value should cause a failure quickly

Unless I'm mistaken, `USHRT_MAX` is a legal (but unlikely) value (i.e. `max_locals` in a class file can be 65635) so I changed this to use `INT_MAX` instead.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15705#discussion_r1324264486


More information about the graal-dev mailing list