Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Wisp] Unify the naming rule for Wisp cases in JDK17. #100

Merged
merged 1 commit into from
Jul 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @test
* @summary test a special wisp unpark case for C1 compiled method
* @modules java.base/jdk.internal.access
* @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -XX:TieredStopAtLevel=1 C1ThrowSyncExceptionTest
* @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -XX:TieredStopAtLevel=1 TestC1ThrowSyncException
*/


Expand All @@ -18,7 +18,7 @@
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

public class C1ThrowSyncExceptionTest {
public class TestC1ThrowSyncException {
final static Runner[] runners = new Runner[16];
static boolean JUC;
static final int N = 40000;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
* @test
* @library /test/lib
* @summary Test the optimization of direct unpark with Object.wait/notify
* @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.enableThreadAsWisp=true -Dcom.alibaba.wisp.version=2 -Dcom.alibaba.wisp.allThreadAsWisp=true DirectUnparkTest
* @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.enableThreadAsWisp=true -Dcom.alibaba.wisp.version=2 DirectUnparkTest
* @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.enableThreadAsWisp=true -Dcom.alibaba.wisp.version=2 -Dcom.alibaba.wisp.allThreadAsWisp=true TestDirectUnpark
* @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.enableThreadAsWisp=true -Dcom.alibaba.wisp.version=2 TestDirectUnpark
*/

import com.alibaba.wisp.engine.WispEngine;
Expand All @@ -12,9 +12,9 @@

import static jdk.test.lib.Asserts.*;

public class DirectUnparkTest {
public class TestDirectUnpark {
public static void main(String[] args) throws Exception {
DirectUnparkTest s = new DirectUnparkTest();
TestDirectUnpark s = new TestDirectUnpark();
WispEngine.dispatch(s::bar);
long now = System.currentTimeMillis();
synchronized (s) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
* @test
* @summary test obj.wait() could be interrupted
* @library /test/lib
* @run main/othervm -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true InterruptedWaitTest
* @run main/othervm -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.version=2 InterruptedWaitTest
* @run main/othervm -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true TestInterruptedWait
* @run main/othervm -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true -Dcom.alibaba.wisp.version=2 TestInterruptedWait
*/

import java.util.concurrent.atomic.AtomicBoolean;

import static jdk.test.lib.Asserts.*;

public class InterruptedWaitTest {
public class TestInterruptedWait {
public static void main(String[] args) throws Exception {
AtomicBoolean interrupted = new AtomicBoolean(false);
Thread t = new Thread(() -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* @summary Test jstack steal counter
* @modules java.base/com.alibaba.wisp.engine:+open
* @modules java.base/java.dyn:+open
* @run main/othervm -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -Dcom.alibaba.wisp.version=2 -XX:ActiveProcessorCount=2 JStackTest
* @run main/othervm -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -Dcom.alibaba.wisp.version=2 -XX:ActiveProcessorCount=2 TestJStack
*/

import com.alibaba.wisp.engine.WispEngine;
Expand All @@ -26,7 +26,7 @@

import static jdk.test.lib.Asserts.*;

public class JStackTest {
public class TestJStack {

private static Field wisptask = null;
private static Field stealCount = null;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
/*
* @test
* @summary test of memory leak while creating and destroying coroutine/thread
* @run main/othervm -XX:+EnableCoroutine -Dcom.alibaba.wisp.version=2 -Xmx10m -Xms10m MemLeakTest
* @run main/othervm -XX:+EnableCoroutine -Dcom.alibaba.wisp.version=2 -Xmx10m -Xms10m TestMemLeak
*/

import java.dyn.Coroutine;
import java.io.*;

public class MemLeakTest {
public class TestMemLeak {
private final static Runnable r = () -> {};

public static void main(String[] args) throws Exception {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @test
* @library /test/lib
* @summary Test jstack coroutine output
* @run main/othervm -XX:+EnableCoroutine -Dcom.alibaba.transparentAsync=true -XX:+UseWispMonitor MultiCoroutineStackTest
* @run main/othervm -XX:+EnableCoroutine -Dcom.alibaba.transparentAsync=true -XX:+UseWispMonitor TestMultiCoroutineStack
*/

import com.alibaba.wisp.engine.WispEngine;
Expand All @@ -18,7 +18,7 @@

import static jdk.test.lib.Asserts.*;

public class MultiCoroutineStackTest {
public class TestMultiCoroutineStack {
public static void main(String[] args) throws Exception {
baseTest();
testCoroutineName();
Expand Down Expand Up @@ -51,12 +51,12 @@ private static void testParkingObj() throws Exception {

WispEngine.dispatch(() -> {
coro[0] = Thread.currentThread();
LockSupport.park(new MultiCoroutineStackTest());
LockSupport.park(new TestMultiCoroutineStack());
});

boolean success = false;
for (String line : jstack()) {
if (line.contains("parking to wait for") && line.contains(MultiCoroutineStackTest.class.getSimpleName())) {
if (line.contains("parking to wait for") && line.contains(TestMultiCoroutineStack.class.getSimpleName())) {
success = true;
break;
}
Expand All @@ -66,7 +66,7 @@ private static void testParkingObj() throws Exception {
}

private static void testWaitingToLock() throws Exception {
Object lock = new MultiCoroutineStackTest();
Object lock = new TestMultiCoroutineStack();

synchronized (lock) {
WispEngine.dispatch(() -> {
Expand All @@ -75,7 +75,7 @@ private static void testWaitingToLock() throws Exception {
});
boolean success = false;
for (String line : jstack()) {
if (line.contains("waiting to lock") && line.contains(MultiCoroutineStackTest.class.getSimpleName())) {
if (line.contains("waiting to lock") && line.contains(TestMultiCoroutineStack.class.getSimpleName())) {
success = true;
break;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
* @test
* @summary Test the fix that unpark might not be handled in WispThread::unpark due to due to WispEngine of main thread not properly been initialized in premain().
*
* @run shell premainWithWispMonitorTest.sh
* @run shell testPremainWithWispMonitor.sh
*/

import com.alibaba.wisp.engine.WispEngine;

import java.lang.instrument.Instrumentation;

public class PremainWithWispMonitorTest {
public class TestPremainWithWispMonitor {

private static Object lock = new Object();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
## @requires vm.opt.DeoptimizeALot == null | vm.opt.DeoptimizeALot == false
## @library /test/lib
## @summary test \@ReservedStackAccess
## @run shell ReservedStackTest.sh
## @run shell TestReservedStack.sh

set -x

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import com.alibaba.wisp.engine.WispEngine;

public class SimpleWispTest {
public class TestSimpleWisp {

public static void main(String[] args) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* @library /test/lib
* @modules java.base/jdk.internal.access
* @modules java.base/com.alibaba.wisp.engine:+open
* @run main/othervm -XX:+UseWisp2 Wisp2SwitchTest
* @run main/othervm -XX:+UseWisp2 TestWisp2Switch
*/


Expand All @@ -14,7 +14,7 @@
import java.lang.reflect.Field;
import static jdk.test.lib.Asserts.*;

public class Wisp2SwitchTest {
public class TestWisp2Switch {
public static void main(String[] args) throws Exception {
WispEngine.dispatch(() -> {
for (int i = 0; i < 9999999; i++) {
Expand All @@ -26,7 +26,7 @@ public static void main(String[] args) throws Exception {
}
}
});
System.out.println("Wisp2SwitchTest.main");
System.out.println("TestWisp2Switch.main");
Field f = Class.forName("com.alibaba.wisp.engine.WispConfiguration").getDeclaredField("WISP_VERSION");
f.setAccessible(true);
int version = f.getInt(null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* @library /test/lib
* @modules java.base/jdk.internal.access
* @modules java.base/com.alibaba.wisp.engine:+open
* @run main/othervm -XX:+UseWisp2 -Dcom.alibaba.wisp.allThreadAsWisp=false Wisp2SwitchTest2
* @run main/othervm -XX:+UseWisp2 -Dcom.alibaba.wisp.allThreadAsWisp=false TestWisp2Switch2
*/


Expand All @@ -15,7 +15,7 @@

import static jdk.test.lib.Asserts.*;

public class Wisp2SwitchTest2 {
public class TestWisp2Switch2 {
public static void main(String[] args) throws Exception {
WispEngine.dispatch(() -> {
for (int i = 0; i < 9999999; i++) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
* @test
* @library /test/lib
* @summary test clinit wait in coroutine
* @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true WispClinitTest
* @run main/othervm -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true TestWispClinit
*/


import com.alibaba.wisp.engine.WispEngine;
import static jdk.test.lib.Asserts.assertTrue;

public class WispClinitTest {
public class TestWispClinit {
public static void main(String[] args) {
WispEngine.dispatch(C::ensureInit);
assertTrue(C.initDone);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
* @test
* @library /testlibrary
* @summary test emit_guard_for_new in C2 will add control for load
* @run main/othervm -Xcomp -XX:-TieredCompilation -Xbatch -XX:CompileOnly=WispEmitNewGuardTest.testMethod -XX:+PrintCompilation -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true WispEmitNewGuardTest
* @run main/othervm -Xcomp -XX:-TieredCompilation -Xbatch -XX:CompileOnly=TestWispEmitNewGuard.testMethod -XX:+PrintCompilation -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.wisp.transparentWispSwitch=true TestWispEmitNewGuard
*/


import com.alibaba.wisp.engine.WispEngine;

public class WispEmitNewGuardTest {
public class TestWispEmitNewGuard {
static {
System.out.println("================ static initialize ================");
testMethod();
Expand All @@ -19,12 +19,12 @@ public static void main(String[] args) throws Exception{
}

public static int testMethod() {
WispEmitNewGuardTest x = new WispEmitNewGuardTest(42);
TestWispEmitNewGuard x = new TestWispEmitNewGuard(42);
return x.value();
}

private int value;
WispEmitNewGuardTest(int value) {
TestWispEmitNewGuard(int value) {
this.value = value;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
/*
* @test
* @summary verify vm not crash when we're preempted frequently
* @run main/othervm -XX:ActiveProcessorCount=1 -XX:+UseWisp2 WispPreemptBugTest
* @run main/othervm -XX:ActiveProcessorCount=1 -XX:+UseWisp2 TestWispPreemptBug
*/

import java.security.MessageDigest;
import java.util.Date;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class WispPreemptBugTest {
public class TestWispPreemptBug {

public static void main(String[] args) throws Exception {
final int TIMEOUT = 3000;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## @test
##
## @summary test c1 assertion failure when UseDirectUnpark is enabled (please run it in slowdebug ver.)
## @run shell c1AssertFailTest.sh
## @run shell testC1AssertFail.sh


${TESTJAVA}/bin/java -Xcomp -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
#
# @test
# @library /testlibrary
# @compile SimpleWispTest.java
# @compile TestSimpleWisp.java
#
# @summary test Coroutine SwitchTo() crash problem
# @run shell coroutineBreakpointSwitchToTest.sh
# @run shell testCoroutineBreakpointSwitchTo.sh
#

OS=`uname -s`
Expand Down Expand Up @@ -38,8 +38,8 @@ fi

gcc -DLINUX -fPIC -shared -o libtest.so \
-I${COMPILEJAVA}/include -I${COMPILEJAVA}/include/linux \
${TESTSRC}/coroutineBreakpointSwitchToTest.c
${TESTSRC}/testCoroutineBreakpointSwitchTo.c

${JAVA} -agentpath:libtest.so -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -cp ${TESTCLASSES} SimpleWispTest
${JAVA} -agentpath:libtest.so -XX:-UseBiasedLocking -XX:+EnableCoroutine -XX:+UseWispMonitor -Dcom.alibaba.transparentAsync=true -cp ${TESTCLASSES} TestSimpleWisp

exit $?
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/sh

## @test
##
## @summary test DetachCurrentThread unpark
## @run shell testJniDetachThreadHoldingMonitor.sh
##


export LD_LIBRARY_PATH=.:${COMPILEJAVA}/lib/server:/usr/lib:$LD_LIBRARY_PATH

g++ -DLINUX -o testJniDetachThreadHoldingMonitor \
-I${COMPILEJAVA}/include -I${COMPILEJAVA}/include/linux \
-L${COMPILEJAVA}/lib/server \
-ljvm -lpthread ${TESTSRC}/testJniDetachThreadHoldingMonitor.c

./testJniDetachThreadHoldingMonitor
exit $?
19 changes: 19 additions & 0 deletions test/hotspot/jtreg/runtime/coroutine/testJniMonitorExit.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/sh

## @test
##
## @summary test jni MonitorExit
## @run shell testJniMonitorExit.sh
##


export LD_LIBRARY_PATH=.:${COMPILEJAVA}/lib/server:/usr/lib:$LD_LIBRARY_PATH
echo ${COMPILEJAVA}
echo $LD_LIBRARY_PATH
g++ -DLINUX -o testJniMonitorExit \
-I${COMPILEJAVA}/include -I${COMPILEJAVA}/include/linux \
-L${COMPILEJAVA}/lib/server \
-ljvm -lpthread ${TESTSRC}/testJniMonitorExit.c

./testJniMonitorExit
exit $?
Loading
Loading