On Sat, 24 Oct 2026 01:19:39 GMT, Serguei Spitsyn <[email protected]> wrote:
>> This is a spec and implementation update for JVMTI `GetLocalObject` and >> `GetLocalInstance` functions related to getting the `this` object during >> value object construction. Current implementation is to return a snapshot of >> the `this` object. This update changes it to reject JVMTI `GetLocalObject` >> and `GetLocalInstance` functions with the error code >> `JVMTI_ERROR_OPAQUE_FRAME`. >> >> TBD: Will create a related CSR. >> >> Testing: >> - Run the impacted test before and after the fix: >> >> `test/hotspot/jtreg/serviceability/jvmti/valhalla/GetCtorLocal/ValueGetCtorLocal.java` >> - TBD: Run mach5 tiers 1-6 >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Serguei Spitsyn has updated the pull request incrementally with one > additional commit since the last revision: > > Restore preview problem list to upstream version src/hotspot/share/prims/jvmtiImpl.cpp line 624: > 622: bool is_ctor = _jvf->method()->is_object_constructor(); > 623: if (is_ctor && _index == 0 && > _jvf->method()->method_holder()->has_strict_instance_fields_in_hierarchy()) { > 624: _result = JVMTI_ERROR_OPAQUE_FRAME; // no support for THIS > value object during construction I think you'll need a lot more test cases to help see if a stack walk is required here. I'm thinking about invoking an instance method from a constructor after strict fields have been set and after super(). Also thinking about cases where the strict fields are in a super class or subclass. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/33526#discussion_r4386199493
