JDIThreadFactory.newThread() is suppose to be used by nsk/jdi test debuggee code to allocate either a virtual thread or platform thread depending on which mode the tests are being run in. I noticed a few tests that are not doing this, which means the debuggee threads are always platform threads, so we are missing some virtual thread test coverage. Some of them might have good reasons for not using JDIThreadFactory.newThread(), but most look pretty boiler plate and should work. These are the debuggees I noticed that need to be fixed:
vmTestbase/nsk/jdi/ClassType/newInstance/newinstance002a.java
vmTestbase/nsk/jdi/ObjectReference/getValue/getvalue002a.java
vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod001a.java
vmTestbase/nsk/jdi/ObjectReference/referenceType/referencetype001a.java
vmTestbase/nsk/jdi/ObjectReference/referenceType/referencetype003a.java
vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects003/referringObjects003a.java
vmTestbase/nsk/jdi/StackFrame/thisObject/thisobject001a.java
vmTestbase/nsk/jdi/ThreadGroupReference/name/name001a.java
vmTestbase/nsk/jdi/ThreadGroupReference/parent/parent001a.java
vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn004/forceEarlyReturn004a.java
vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn009/forceEarlyReturn009a.java
vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn013/forceEarlyReturn013a.java
vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn015/forceEarlyReturn015a.java
vmTestbase/nsk/jdi/ThreadReference/frames/frames001a.java
vmTestbase/nsk/jdi/ThreadReference/frames_ii/frames_ii002a.java
vmTestbase/nsk/jdi/ThreadReference/status/status008/status008a.java
vmTestbase/nsk/jdi/Value/type/type002/type002a.java
vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose005a.java
vmTestbase/nsk/jdi/VoidValue/equals/equals001/equals001a.java
vmTestbase/nsk/jdi/VoidValue/hashCode/hashcode001/hashcode001a.java
vmTestbase/nsk/jdi/ClassType/newInstance/newinstance002a.java
vmTestbase/nsk/jdi/ObjectReference/getValue/getvalue002a.java
vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod001a.java
vmTestbase/nsk/jdi/ObjectReference/referenceType/referencetype001a.java
vmTestbase/nsk/jdi/ObjectReference/referenceType/referencetype003a.java
vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects003/referringObjects003a.java
vmTestbase/nsk/jdi/StackFrame/thisObject/thisobject001a.java
vmTestbase/nsk/jdi/ThreadGroupReference/name/name001a.java
vmTestbase/nsk/jdi/ThreadGroupReference/parent/parent001a.java
vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn004/forceEarlyReturn004a.java
vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn009/forceEarlyReturn009a.java
vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn013/forceEarlyReturn013a.java
vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn015/forceEarlyReturn015a.java
vmTestbase/nsk/jdi/ThreadReference/frames/frames001a.java
vmTestbase/nsk/jdi/ThreadReference/frames_ii/frames_ii002a.java
vmTestbase/nsk/jdi/ThreadReference/status/status008/status008a.java
vmTestbase/nsk/jdi/Value/type/type002/type002a.java
vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose005a.java
vmTestbase/nsk/jdi/VoidValue/equals/equals001/equals001a.java
vmTestbase/nsk/jdi/VoidValue/hashCode/hashcode001/hashcode001a.java