RFR: 8212107: VMThread issues and cleanup [v7]

Robbin Ehn rehn at openjdk.java.net
Fri Sep 25 12:20:37 UTC 2020


> We simplify the vmThread by removing the queue and refactor the the main loop.
> This solves the issues listed:
> - It can create an extra safepoint directly after a safepoint.
> - It's not safe for a non-JavaThread to add safepoint to queue while GC do oops do.
> - The exposure of the vm operation is dangerous if it's a handshake.
> - The code is a hornets nest with the repetition of checks and branches
> 
> Passes t1-8, and a benchmark run.
> 
> If you want a smaller diff the commits contains the incremental progress and each commit passed t1.

Robbin Ehn has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev
excludes the unrelated changes brought in by the merge/rebase. The pull request contains 18 additional commits since
the last revision:

 - Merge branch 'master' into 8212107-vmthread
 - Spelling fixes from Dan
 - Removed assert as suggested by David
 - Whitespace fixes, thanks to Shipilev
 - Update after Shipilev
 - Update after Coleen and David
 - Merge branch 'master' into 8212107-vmthread
 - Fixed nits
 - Merge branch 'master' into 8212107-vmthread
 - Fixes after review from shipilev.
 - ... and 8 more: https://git.openjdk.java.net/jdk/compare/56fc9713...371ac282

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/228/files
  - new: https://git.openjdk.java.net/jdk/pull/228/files/5bd76150..371ac282

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=228&range=06
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=228&range=05-06

  Stats: 29958 lines in 646 files changed: 4811 ins; 23493 del; 1654 mod
  Patch: https://git.openjdk.java.net/jdk/pull/228.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/228/head:pull/228

PR: https://git.openjdk.java.net/jdk/pull/228


More information about the hotspot-dev mailing list