RFR: JDK-8214097: Rework thread initialization and teardown logic
David Holmes
david.holmes at oracle.com
Wed Dec 19 21:21:30 UTC 2018
Following on from the preliminary RFR:
http://mail.openjdk.java.net/pipermail/hotspot-dev/2018-December/035737.html
I've merged with Kim's changes from 8215097.
Bug: https://bugs.openjdk.java.net/browse/JDK-8214097
Webrev: http://cr.openjdk.java.net/~dholmes/8214097/webrev.v2/
Changes since previous discussion:
- Replaced Kim's initial_thread_created assertion with a check of
Thread::current_or_null, with an explanation
- Removed NJT list addition at construction time as it's not needed
after 8215097.
- Moved the JavaThread call to this->exit(false); from the end of
thread_main_inner to the start of post_run - as Markus suggested. This
also necessitated a change to the gtest logic compared to the original
as it has to override post_run() now to avoid the exit call.
- Made get_thread_name_string virtual so that the JavaThread subclasses
in the gtest can override it and allow their names to be seen in hs_err
files. (Makes debugging so much easier when you know which thread crashed!).
Testing:
- Mach 5 tiers 1 - 3
- All runtime tests with:
- default GC
- ZGC
- Shenandoah GC
- gc/g1
- gc/serial
- gc/epsilon
- gc/shenandoah
Thanks,
David
More information about the hotspot-dev
mailing list