RFR: 8212107: VMThread issues and cleanup [v2]

Robbin Ehn rehn at openjdk.java.net
Mon Sep 21 07:33:27 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 12 additional commits since
the last revision:

 - Merge branch 'master' into 8212107-vmthread
 - Fixed nits
 - Merge branch 'master' into 8212107-vmthread
 - Fixes after review from shipilev.
 - Fixed some indent misses
 - Fixed ws
 - Added assert
 - Restructured and simplified
 - Removed used linking in VM_Operation
 - Removed ticket and use only one Monitor
 - ... and 2 more: https://git.openjdk.java.net/jdk/compare/10ce2144...e49178a4

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/228/files
  - new: https://git.openjdk.java.net/jdk/pull/228/files/3866f067..e49178a4

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

  Stats: 5785 lines in 169 files changed: 3244 ins; 2189 del; 352 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