> This update fixes the test bug which was initially filed as a Valhalla bug 
> but then found to be NOT Valhalla specific.
> The static variable `objectCount` is used for two different purposes:
>  - to count current walked objects number
>  - as a number to tag objects
> 
> This leads to mismatches in indexes calculations.
> For instance the `ObjectFree` event callback decrements the `objectCount` 
> number. Then the `objectCountMax` can be smaller than some of the actual 
> indexes.
> The fix does:
>  - adds a fragment to force GC's with the JVMTI `ForceGarbageCollection` to 
> make the failure well reproducible
>  - split `objectCount` into: `objectCount` and `objectTagCount`
>  - `objectTagCount` is used to set the object tags and value of the 
> `objectCountMax`
>  - a couple of the `ind` boundary checks are also corrected
> 
> Testing:
>  - Executed the test locally: 
> `jvmti/IterateOverReachableObjects/iterreachobj002`
>  - TBD: Submit mach5 tiers 1-3 to be safe
> 
> ---------
> - [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:

  review: moved to the right place the line which sets the objectCountMax

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/31585/files
  - new: https://git.openjdk.org/jdk/pull/31585/files/12a20d41..f597074d

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=31585&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=31585&range=00-01

  Stats: 4 lines in 1 file changed: 2 ins; 2 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/31585.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/31585/head:pull/31585

PR: https://git.openjdk.org/jdk/pull/31585

Reply via email to