I don’t see a better way, really. If there is a less hacky way that is allowed by the iteration API, I’m definitely open to suggestions.
igor > On Nov 28, 2018, at 1:27 PM, [email protected] wrote: > > Hi Igor, > > It looks like a hack but Okay with me. > > Thanks, > Serguei > > > On 11/28/18 13:13, 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 >> >> >> >
