This will also impact the definition of JVM_ENTRY/JNI_ENTRY etc which typically declare:
JavaThread * thread = JavaThreadCurrent();
Thread* THREAD = thread; // Needed for CHECK macro
and the TRAPS macro (as exceptions should only be relevant to JavaThreads in the first place).
This may also lead into related refactoring of the Thread hierarchy as there are things in Thread that really only pertain to JavaThread (or at least Java-executing threads, which not be exactly the same thing - TBD).
It isn't clear how far we can unravel this and clean up the APIs, but it is worth investigating.
This will also lead into cleanups in the ObjectMonitor code to rationalise the use of Self/THREAD/jt.
- relates to
-
JDK-8262280 Incorrect exception handling for VMThread in class redefinition
-
- Resolved
-
-
JDK-8261127 Cleanup THREAD/TRAPS/CHECK usage in CDS code
-
- Resolved
-
-
JDK-8262910 Cleanup THREAD/TRAPS/naming and typing issues in ObjectMonitor and related code
-
- Resolved
-
-
JDK-8263709 Cleanup THREAD/TRAPS/CHECK usage in JRT_ENTRY routines
-
- Resolved
-
-
JDK-8263771 Refactor javaClasses initialization code to isolate dumping code
-
- Resolved
-
-
JDK-8264150 CDS dumping code calls TRAPS functions in VM thread
-
- Resolved
-
-
JDK-8265484 Fix up TRAPS usage in GenerateOopMap::compute_map and callers
-
- Resolved
-
-
JDK-8266017 Refactor the *klass::array_klass_impl code to separate the non-exception-throwing API
-
- Resolved
-
-
JDK-8252406 Introduce Thread::as_Java_thread() convenience function
-
- Resolved
-
-
JDK-8267553 Extra JavaThread assignment in ClassLoader::create_class_path_entry()
-
- Resolved
-