I don’t think there is a way to identify an untagged object. There is nothing that is passed in the callback to allow that.
igor > On Nov 28, 2018, at 1:32 PM, [email protected] wrote: > > I'm guessing Graal creates Constant boxes of the individual fields and not of > the test objects? If so, can't we fix the matching so that it checks that > all fields of an object match? I guess that would mean moving the "expected" > and "found" counts up from fields[] to objects_info[]. > > dl > > On 11/28/18 1:13 PM, Igor Veresov wrote: >> When doing heap iteration with JVMTI the way the object identity is tracked >> is by tagging. This particular test checks if it can observe an untagged >> object. Since there is no way to truly track the identity of an untagged >> object the test validates the identity by checking the value of the fields >> of such object. When being compiled with Graal there are objects produced >> (such as Constant boxes) that have field values that are equal to the >> expected values for the fields in UntaggedClass. During the subsequent heap >> iteration these objects are reported to the test and are treated as if they >> were instances of UntaggedClass. >> >> The fix is to relax the test requirement and allow (for the untagged case) >> the number of the object found during iteration to be more than expected. >> >> Webrev: http://cr.openjdk.java.net/~iveresov/8193577/webrev.00/ >> JBS: https://bugs.openjdk.java.net/browse/JDK-8193577 >> >> igor >> >> >> >
