test/compiler/intrinsics/IntrinsicDisabledTest.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff test/compiler/intrinsics/IntrinsicDisabledTest.java
test/compiler/intrinsics/IntrinsicDisabledTest.java
Print this page
rev 10344 : [mq]: unsafejavachecks1
*** 31,42 ****
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockDiagnosticVMOptions
* -XX:+WhiteBoxAPI
* -XX:DisableIntrinsic=_putCharVolatile,_putInt
* -XX:DisableIntrinsic=_putIntVolatile
! * -XX:CompileCommand=option,sun.misc.Unsafe::putChar,ccstrlist,DisableIntrinsic,_getCharVolatile,_getInt
! * -XX:CompileCommand=option,sun.misc.Unsafe::putCharVolatile,ccstrlist,DisableIntrinsic,_getIntVolatile
* IntrinsicDisabledTest
*/
import java.lang.reflect.Executable;
import java.util.Objects;
--- 31,42 ----
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockDiagnosticVMOptions
* -XX:+WhiteBoxAPI
* -XX:DisableIntrinsic=_putCharVolatile,_putInt
* -XX:DisableIntrinsic=_putIntVolatile
! * -XX:CompileCommand=option,jdk.internal.misc.Unsafe::putChar,ccstrlist,DisableIntrinsic,_getCharVolatile,_getInt
! * -XX:CompileCommand=option,jdk.internal.misc.Unsafe::putCharVolatile,ccstrlist,DisableIntrinsic,_getIntVolatile
* IntrinsicDisabledTest
*/
import java.lang.reflect.Executable;
import java.util.Objects;
*** 58,68 ****
/* Determine if tiered compilation is enabled. */
private static boolean isTieredCompilationEnabled() {
return Boolean.valueOf(Objects.toString(wb.getVMFlag("TieredCompilation")));
}
! /* This test uses several methods from sun.misc.Unsafe. The method
* getMethod() returns a different Executable for each different
* combination of its input parameters. There are eight possible
* combinations, getMethod can return an Executable representing
* the following methods: putChar, putCharVolatile, getChar,
* getCharVolatile, putInt, putIntVolatile, getInt,
--- 58,68 ----
/* Determine if tiered compilation is enabled. */
private static boolean isTieredCompilationEnabled() {
return Boolean.valueOf(Objects.toString(wb.getVMFlag("TieredCompilation")));
}
! /* This test uses several methods from jdk.internal.misc.Unsafe. The method
* getMethod() returns a different Executable for each different
* combination of its input parameters. There are eight possible
* combinations, getMethod can return an Executable representing
* the following methods: putChar, putCharVolatile, getChar,
* getCharVolatile, putInt, putIntVolatile, getInt,
*** 72,82 ****
static Executable getMethod(boolean isChar, boolean isPut, boolean isVolatile) throws RuntimeException {
Executable aMethod;
String methodTypeName = isChar ? "Char" : "Int";
try {
! Class aClass = Class.forName("sun.misc.Unsafe");
if (isPut) {
aMethod = aClass.getDeclaredMethod("put" + methodTypeName + (isVolatile ? "Volatile" : ""),
Object.class,
long.class,
isChar ? char.class : int.class);
--- 72,82 ----
static Executable getMethod(boolean isChar, boolean isPut, boolean isVolatile) throws RuntimeException {
Executable aMethod;
String methodTypeName = isChar ? "Char" : "Int";
try {
! Class aClass = Class.forName("jdk.internal.misc.Unsafe");
if (isPut) {
aMethod = aClass.getDeclaredMethod("put" + methodTypeName + (isVolatile ? "Volatile" : ""),
Object.class,
long.class,
isChar ? char.class : int.class);
test/compiler/intrinsics/IntrinsicDisabledTest.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File