Java Examples for sun.misc.Unsafe
The following java examples will help you to understand the usage of sun.misc.Unsafe. These source code samples are taken from different open source projects.
Example 1
Project: sef4j-master File: InstrumenterHelper.java View source code |
public sun.misc.Unsafe run() { try { java.lang.reflect.Field singleoneInstanceField = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); boolean prev = singleoneInstanceField.isAccessible(); singleoneInstanceField.setAccessible(true); sun.misc.Unsafe ret = (sun.misc.Unsafe) singleoneInstanceField.get(null); singleoneInstanceField.setAccessible(prev); return ret; } catch (Throwable e) { LOG.error("Could not instanciate sun.miscUnsafe. should use java.nio DirectByteBuffer ?", e); return null; } }
Example 2
Project: jdeps-maven-plugin-master File: ViolationTest.java View source code |
@Test public void compareTo_sameDependents_differentDependencies_orderedByDependencies() throws Exception { Violation smaller = Violation.buildForDependent(DEPENDENT).addDependencies(InternalType.of("sun.misc", "BASE64Decoder", "", ""), InternalType.of("sun.misc", "Unsafe", "", "")).build(); Violation greater = Violation.buildForDependent(DEPENDENT).addDependencies(InternalType.of("sun.misc", "BASE64Encoder", "", ""), InternalType.of("sun.misc", "Unsafe", "", "")).build(); assertThat(smaller.compareTo(greater)).isNegative(); assertThat(greater.compareTo(smaller)).isPositive(); }
Example 3
Project: TridentCommons-master File: UnsafeTool.java View source code |
/** * Obtains the instance of unsafe * * <p>May not exist on certain platforms</p> * * @return the unsafe instance, if it exists */ private static Unsafe hackUnsafe() { try { Class<?> c = Class.forName("sun.misc.Unsafe"); Field field = c.getDeclaredField("theUnsafe"); field.setAccessible(true); return (Unsafe) field.get(null); } catch (ClassNotFoundExceptionNoSuchFieldException | e) { TridentLogger.error("Your platform does not support sun.misc.Unsafe"); Handler.forPlugins().disable(TridentPlugin.instance()); } catch (IllegalAccessException e) { e.printStackTrace(); Handler.forPlugins().disable(TridentPlugin.instance()); } return null; }
Example 4
Project: flink-master File: CommonTestUtils.java View source code |
@SuppressWarnings("restriction") private static sun.misc.Unsafe getUnsafe() { try { Field unsafeField = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); unsafeField.setAccessible(true); return (sun.misc.Unsafe) unsafeField.get(null); } catch (SecurityException e) { throw new RuntimeException("Could not access the sun.misc.Unsafe handle, permission denied by security manager.", e); } catch (NoSuchFieldException e) { throw new RuntimeException("The static handle field in sun.misc.Unsafe was not found."); } catch (IllegalArgumentException e) { throw new RuntimeException("Bug: Illegal argument reflection access for static field.", e); } catch (IllegalAccessException e) { throw new RuntimeException("Access to sun.misc.Unsafe is forbidden by the runtime.", e); } catch (Throwable t) { throw new RuntimeException("Unclassified error while trying to access the sun.misc.Unsafe handle.", t); } }
Example 5
Project: Multiverse-master File: ToolUnsafe.java View source code |
/** * Fetch the Unsafe. Use With Caution. * * @return an Unsafe instance. */ public static Unsafe getUnsafe() { // Not on bootclasspath if (ToolUnsafe.class.getClassLoader() == null) { return Unsafe.getUnsafe(); } try { final Field field = Unsafe.class.getDeclaredField("theUnsafe"); field.setAccessible(true); return (Unsafe) field.get(ToolUnsafe.class); } catch (Exception e) { throw new RuntimeException("Could not access sun.misc.Unsafe", e); } }
Example 6
Project: extended-stacktrace-master File: UtilUnsafe.java View source code |
public static Unsafe getUnsafe1() { // Not on bootclasspath if (UtilUnsafe.class.getClassLoader() == null) return Unsafe.getUnsafe(); try { Field f = Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (Unsafe) f.get(UtilUnsafe.class); } catch (Exception e) { throw new RuntimeException("Could not obtain access to sun.misc.Unsafe", e); } }
Example 7
Project: voltdb-master File: UnsignedBytes.java View source code |
@Override public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) { return k.cast(x); } } throw new NoSuchFieldError("the Unsafe"); }
Example 8
Project: forbidden-apis-master File: AsmUtilsTest.java View source code |
@Test public void testGlob() { Pattern pat = glob2Pattern("a.b.c.*"); assertTrue(pat.matcher("a.b.c.d").matches()); assertTrue(pat.matcher("a.b.c.def").matches()); assertFalse(pat.matcher("a.b.c").matches()); assertFalse(pat.matcher("a.b.c.d.e").matches()); pat = glob2Pattern("a.b.c.**"); assertTrue(pat.matcher("a.b.c.d").matches()); assertTrue(pat.matcher("a.b.c.def").matches()); assertTrue(pat.matcher("a.b.c.d.e").matches()); assertTrue(pat.matcher("a.b.c.d.e.f").matches()); pat = glob2Pattern("sun.*.*"); assertTrue(pat.matcher("sun.misc.Unsafe").matches()); assertTrue(pat.matcher("sun.misc.Unsafe$1").matches()); assertFalse(pat.matcher("sun.misc.Unsafe.xy").matches()); pat = glob2Pattern("java.**.Array?"); assertTrue(pat.matcher("java.util.Arrays").matches()); assertFalse(pat.matcher("java.util.ArrayList").matches()); assertFalse(pat.matcher("java.util.Array").matches()); assertTrue(pat.matcher("java.lang.reflect.Arrays").matches()); }
Example 9
Project: tomee-master File: PojoSerialization.java View source code |
public Class<?> run() { try { return Thread.currentThread().getContextClassLoader().loadClass("sun.misc.Unsafe"); } catch (final Exception e) { try { return ClassLoader.getSystemClassLoader().loadClass("sun.misc.Unsafe"); } catch (final ClassNotFoundException e1) { throw new IllegalStateException("Cannot get sun.misc.Unsafe", e); } } }
Example 10
Project: h2o-2-master File: CountedCompleter.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException se) { try { return java.security.AccessController.doPrivileged(new java.security.PrivilegedExceptionAction<sun.misc.Unsafe>() { public sun.misc.Unsafe run() throws Exception { java.lang.reflect.Field f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (sun.misc.Unsafe) f.get(null); } }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } } }
Example 11
Project: h2o-3-master File: CountedCompleter.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException se) { try { return java.security.AccessController.doPrivileged(new java.security.PrivilegedExceptionAction<sun.misc.Unsafe>() { public sun.misc.Unsafe run() throws Exception { java.lang.reflect.Field f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (sun.misc.Unsafe) f.get(null); } }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } } }
Example 12
Project: high-scale-lib-master File: UnsafeCounter.java View source code |
public static Unsafe getUnsafe() { // Not on bootclasspath if (UtilUnsafe.class.getClassLoader() == null) return Unsafe.getUnsafe(); try { final Field fld = Unsafe.class.getDeclaredField("theUnsafe"); fld.setAccessible(true); return (Unsafe) fld.get(UtilUnsafe.class); } catch (Exception e) { throw new RuntimeException("Could not obtain access to sun.misc.Unsafe", e); } }
Example 13
Project: JCTools-master File: UnsafeCounter.java View source code |
public static Unsafe getUnsafe() { // Not on bootclasspath if (UtilUnsafe.class.getClassLoader() == null) return Unsafe.getUnsafe(); try { final Field fld = Unsafe.class.getDeclaredField("theUnsafe"); fld.setAccessible(true); return (Unsafe) fld.get(UtilUnsafe.class); } catch (Exception e) { throw new RuntimeException("Could not obtain access to sun.misc.Unsafe", e); } }
Example 14
Project: synchrobench-master File: Field.java View source code |
public static Object getValue(Object reference, long field, Type type) {
Unsafe unsafe = UnsafeHolder.getUnsafe();
switch(type) {
case BYTE:
return unsafe.getByte(reference, field);
case BOOLEAN:
return unsafe.getBoolean(reference, field);
case CHAR:
return unsafe.getChar(reference, field);
case SHORT:
return unsafe.getShort(reference, field);
case INT:
return unsafe.getInt(reference, field);
case LONG:
return unsafe.getLong(reference, field);
case FLOAT:
return unsafe.getFloat(reference, field);
case DOUBLE:
return unsafe.getDouble(reference, field);
case OBJECT:
return unsafe.getObject(reference, field);
}
return null;
}
Example 15
Project: texai-master File: UtilUnsafe.java View source code |
// dummy private constructor /** Fetch the Unsafe. Use With Caution. */ public static Unsafe getUnsafe() { // Not on bootclasspath if (UtilUnsafe.class.getClassLoader() == null) { return Unsafe.getUnsafe(); } try { final Field fld = Unsafe.class.getDeclaredField("theUnsafe"); fld.setAccessible(true); return (Unsafe) fld.get(UtilUnsafe.class); } catch (Exception e) { throw new RuntimeException("Could not obtain access to sun.misc.Unsafe", e); } }
Example 16
Project: galaxy-master File: UtilUnsafe.java View source code |
public static Unsafe getUnsafe1() { // Not on bootclasspath if (UtilUnsafe.class.getClassLoader() == null) return Unsafe.getUnsafe(); try { Field f = Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (Unsafe) f.get(UtilUnsafe.class); } catch (Exception e) { throw new RuntimeException("Could not obtain access to sun.misc.Unsafe", e); } }
Example 17
Project: quasar-master File: UtilUnsafe.java View source code |
public static Unsafe getUnsafe1() { // Not on bootclasspath if (UtilUnsafe.class.getClassLoader() == null) return Unsafe.getUnsafe(); try { Field f = Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (Unsafe) f.get(UtilUnsafe.class); } catch (Exception e) { throw new RuntimeException("Could not obtain access to sun.misc.Unsafe", e); } }
Example 18
Project: stratosphere-master File: MemoryUtils.java View source code |
@SuppressWarnings("restriction") private static sun.misc.Unsafe getUnsafe() { try { Field unsafeField = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); unsafeField.setAccessible(true); return (sun.misc.Unsafe) unsafeField.get(null); } catch (SecurityException e) { throw new RuntimeException("Could not access the unsafe handle.", e); } catch (NoSuchFieldException e) { throw new RuntimeException("The static unsafe handle field was not be found."); } catch (IllegalArgumentException e) { throw new RuntimeException("Bug: Illegal argument reflection access for static field."); } catch (IllegalAccessException e) { throw new RuntimeException("Access to the unsafe handle is forbidden by the runtime.", e); } }
Example 19
Project: Voovan-master File: TUnsafe.java View source code |
public static Unsafe getUnsafe() { if (unsafe == null) { try { Field field = Unsafe.class.getDeclaredField("theUnsafe"); field.setAccessible(true); unsafe = (Unsafe) field.get(null); } catch (Exception e) { e.printStackTrace(); } } return unsafe; }
Example 20
Project: beanpath-master File: StolenUnsafe.java View source code |
private static Unsafe steal() { try { final Field theUnsafeField = Unsafe.class.getDeclaredField("theUnsafe"); theUnsafeField.setAccessible(true); try { return (Unsafe) theUnsafeField.get(null); } finally { theUnsafeField.setAccessible(false); } } catch (Exception x) { throw new RuntimeException("Failed to steal sun.misc.Unsafe via reflection", x); } }
Example 21
Project: ef-orm-master File: UnsafeUtils.java View source code |
/**
* 用指定的ClassLoaderåŠ è½½äºŒè¿›åˆ¶æ•°æ?®ä¸ºclass
* @param className
* @param data
* @param i
* @param length
* @param classLoader
* @return
*/
public static final Class<?> defineClass(String className, byte[] data, int i, int length, ClassLoader classLoader) {
if (data == null || data.length == 0) {
throw new IllegalArgumentException("the input class data is empty!");
}
if (length < 1 || i + length < data.length) {
throw new IllegalArgumentException("the input length is invalid!");
}
if (className == null || className.length() == 0) {
throw new IllegalArgumentException("the class name is invalid!" + className);
}
Assert.notNull(classLoader);
// LogUtil.debug("Unsafe load class ["+className+"] to "+classLoader);
return unsafe.defineClass(className, data, i, length, classLoader, null);
}
Example 22
Project: jvstm-master File: UtilUnsafe.java View source code |
@SuppressWarnings("unchecked") private static <UNSAFE> UNSAFE getUnsafe() { Object theUnsafe = null; Exception exception = null; try { Class<?> uc = Class.forName("sun.misc.Unsafe"); Field f = uc.getDeclaredField("theUnsafe"); f.setAccessible(true); theUnsafe = f.get(uc); } catch (Exception e) { exception = e; } if (theUnsafe == null) throw new Error("Could not obtain access to sun.misc.Unsafe", exception); return (UNSAFE) theUnsafe; }
Example 23
Project: infinispan-master File: UnsafeHolder.java View source code |
@SuppressWarnings("restriction") private static Unsafe getUnsafe() { // attempt to access field Unsafe#theUnsafe final Object maybeUnsafe = AccessController.doPrivileged((PrivilegedAction<Object>) () -> { try { final Field unsafeField = Unsafe.class.getDeclaredField("theUnsafe"); unsafeField.setAccessible(true); return unsafeField.get(null); } catch (NoSuchFieldExceptionSecurityException | IllegalAccessException | e) { return e; } }); if (maybeUnsafe instanceof Exception) { throw new CacheException((Exception) maybeUnsafe); } else { return (Unsafe) maybeUnsafe; } }
Example 24
Project: jersey-master File: UnsafeAccessor.java View source code |
static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException tryReflectionInstead) { } try { return java.security.AccessController.doPrivileged((PrivilegedExceptionAction<Unsafe>) () -> { Class<Unsafe> k = Unsafe.class; for (Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) { return k.cast(x); } } throw new NoSuchFieldError("the Unsafe"); }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } }
Example 25
Project: hbase-master File: UnsafeAvailChecker.java View source code |
@Override
public Boolean run() {
try {
Class<?> clazz = Class.forName(CLASS_NAME);
Field f = clazz.getDeclaredField("theUnsafe");
f.setAccessible(true);
return f.get(null) != null;
} catch (Throwable e) {
LOG.warn("sun.misc.Unsafe is not available/accessible", e);
}
return false;
}
Example 26
Project: ehcache3-master File: JSR166Helper.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 27
Project: rubah-master File: UnsafeRewritter.java View source code |
@Override
protected void setTranslations() {
Type rubahType = Type.getType(Rubah.class);
Type objectType = Type.getType(Object.class);
Type unsafeType = Type.getType(Unsafe.class);
this.translations.put(new MethodInvocation(unsafeType, "getObject", objectType, objectType, Type.LONG_TYPE), new MethodInvocation(rubahType, "getObject", objectType, unsafeType, objectType, Type.LONG_TYPE).setOpcode(INVOKESTATIC));
this.translations.put(new MethodInvocation(unsafeType, "getObjectVolatile", objectType, objectType, Type.LONG_TYPE), new MethodInvocation(rubahType, "getObjectVolatile", objectType, unsafeType, objectType, Type.LONG_TYPE).setOpcode(INVOKESTATIC));
}
Example 28
Project: Tank-master File: SummaryReportObserverTest.java View source code |
/**
* Run the void observerJobEvents(JobEvent) method test.
*
* @throws Exception
*
* @generatedBy CodePro at 12/15/14 3:52 PM
*/
@Test
public void testObserverJobEvents_1() throws Exception {
SummaryReportObserver fixture = new SummaryReportObserver();
JobEvent jobEvent = new JobEvent("", "", JobLifecycleEvent.AGENT_EXCESSIVE_CPU);
fixture.observerJobEvents(jobEvent);
// An unexpected exception was thrown in user code while executing this test:
// java.lang.NoClassDefFoundError: com_cenqua_clover/CoverageRecorder
// at com.intuit.tank.api.enumerated.JobLifecycleEvent.<init>(JobLifecycleEvent.java:43)
// at com.intuit.tank.api.enumerated.JobLifecycleEvent.<clinit>(JobLifecycleEvent.java:14)
// at sun.misc.Unsafe.ensureClassInitialized(Native Method)
}
Example 29
Project: arquillian-extension-drone-master File: TestAugmentingEnhancer.java View source code |
@Test public void testCanEnhance() throws Exception { Unsafe unsafe = new Unsafe(); RemoteWebDriver remoteDriver = unsafe.createInstanceWithoutInvokingConstructor(RemoteWebDriver.class); RemoteWebDriver reusableRemoteDriver = mock(ReusableRemoteWebDriver.class); DroneAugmented augmentedDriver = mock(DroneAugmented.class); InstanceOrCallableInstance instance1 = mock(InstanceOrCallableInstance.class); InstanceOrCallableInstance instance2 = mock(InstanceOrCallableInstance.class); InstanceOrCallableInstance instance3 = mock(InstanceOrCallableInstance.class); InstanceOrCallableInstance instance4 = mock(InstanceOrCallableInstance.class); doReturn(remoteDriver).when(instance1).asInstance(RemoteWebDriver.class); doReturn(remoteDriver).when(instance1).asInstance(WebDriver.class); doReturn(augmentedDriver).when(instance1).asInstance(ReusableRemoteWebDriver.class); doReturn(unsafe.createInstanceWithoutInvokingConstructor(FirefoxDriver.class)).when(instance2).asInstance(WebDriver.class); doReturn(reusableRemoteDriver).when(instance3).asInstance(WebDriver.class); doReturn(augmentedDriver).when(instance4).asInstance(WebDriver.class); assertTrue("AugmentingEnhancer should enhance when droneType == RemoteWebDriver.class", enhancer.canEnhance(instance1, RemoteWebDriver.class, Default.class)); assertTrue("AugmentingEnhancer should enhance when droneType == ReusableRemoteWebDriver.class", enhancer.canEnhance(instance1, ReusableRemoteWebDriver.class, Default.class)); assertTrue("AugmentingEnhancer should enhance when real instance is RemoteWebDriver", enhancer.canEnhance(instance1, WebDriver.class, Default.class)); assertTrue("AugmentingEnhancer should enhance when real instance already augmented!", enhancer.canEnhance(instance4, WebDriver.class, Default.class)); assertFalse("AugmentingEnhancer should not enhance when real instance is not RemoteWebDriver || ReusableRemoteWebDriver", enhancer.canEnhance(instance2, WebDriver.class, Default.class)); assertFalse("AugmentingEnhancer should not enhance extensions of supported classes!", enhancer.canEnhance(instance3, WebDriver.class, Default.class)); }
Example 30
Project: guava-master File: UnsignedBytes.java View source code |
@Override public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) { return k.cast(x); } } throw new NoSuchFieldError("the Unsafe"); }
Example 31
Project: netty-learning-master File: DetectionUtil.java View source code |
private static boolean hasUnsafe(ClassLoader loader) {
boolean noUnsafe = SystemPropertyUtil.getBoolean("io.netty.noUnsafe", false);
if (noUnsafe) {
return false;
}
// Legacy properties
boolean tryUnsafe;
if (SystemPropertyUtil.contains("io.netty.tryUnsafe")) {
tryUnsafe = SystemPropertyUtil.getBoolean("io.netty.tryUnsafe", true);
} else {
tryUnsafe = SystemPropertyUtil.getBoolean("org.jboss.netty.tryUnsafe", true);
}
if (!tryUnsafe) {
return false;
}
try {
Class<?> unsafeClazz = Class.forName("sun.misc.Unsafe", true, loader);
return hasUnsafeField(unsafeClazz);
} catch (Exception e) {
}
return false;
}
Example 32
Project: netty3.9-note-master File: DetectionUtil.java View source code |
private static boolean hasUnsafe(ClassLoader loader) {
boolean noUnsafe = SystemPropertyUtil.getBoolean("io.netty.noUnsafe", false);
if (noUnsafe) {
return false;
}
// Legacy properties
boolean tryUnsafe;
if (SystemPropertyUtil.contains("io.netty.tryUnsafe")) {
tryUnsafe = SystemPropertyUtil.getBoolean("io.netty.tryUnsafe", true);
} else {
tryUnsafe = SystemPropertyUtil.getBoolean("org.jboss.netty.tryUnsafe", true);
}
if (!tryUnsafe) {
return false;
}
try {
Class<?> unsafeClazz = Class.forName("sun.misc.Unsafe", true, loader);
return hasUnsafeField(unsafeClazz);
} catch (Exception e) {
}
return false;
}
Example 33
Project: simple-netty-source-master File: DetectionUtil.java View source code |
private static boolean hasUnsafe(ClassLoader loader) {
boolean noUnsafe = SystemPropertyUtil.getBoolean("io.netty.noUnsafe", false);
if (noUnsafe) {
return false;
}
// Legacy properties
boolean tryUnsafe;
if (SystemPropertyUtil.contains("io.netty.tryUnsafe")) {
tryUnsafe = SystemPropertyUtil.getBoolean("io.netty.tryUnsafe", true);
} else {
tryUnsafe = SystemPropertyUtil.getBoolean("org.jboss.netty.tryUnsafe", true);
}
if (!tryUnsafe) {
return false;
}
try {
Class<?> unsafeClazz = Class.forName("sun.misc.Unsafe", true, loader);
return hasUnsafeField(unsafeClazz);
} catch (Exception e) {
}
return false;
}
Example 34
Project: streamline-master File: DetectionUtil.java View source code |
private static boolean hasUnsafe(ClassLoader loader) {
boolean useUnsafe = Boolean.valueOf(SystemPropertyUtil.get("org.jboss.netty.tryUnsafe", "true"));
if (!useUnsafe) {
return false;
}
try {
Class<?> unsafeClazz = Class.forName("sun.misc.Unsafe", true, loader);
return hasUnsafeField(unsafeClazz);
} catch (Exception e) {
}
return false;
}
Example 35
Project: haze-master File: UnsafeHelper.java View source code |
static Unsafe findUnsafeIfAllowed() { if (isUnsafeExplicitlyDisabled()) { Logger.getLogger(UnsafeHelper.class).warning(UNSAFE_WARNING_WHEN_EXPLICTLY_DISABLED); return null; } if (!isUnalignedAccessAllowed()) { if (isUnsafeExplicitlyEnforced()) { Logger.getLogger(UnsafeHelper.class).warning(UNSAFE_WARNING_WHEN_ENFORCED_ON_PLATFORM_WHERE_NOT_SUPPORTED); } else { Logger.getLogger(UnsafeHelper.class).warning(UNSAFE_WARNING_WHEN_UNALIGNED_ACCESS_NOT_ALLOWED); return null; } } Unsafe unsafe = findUnsafe(); if (unsafe == null) { Logger.getLogger(UnsafeHelper.class).warning(UNSAFE_WARNING_WHEN_NOT_FOUND); } return unsafe; }
Example 36
Project: hazelcast-master File: UnsafeHelper.java View source code |
static Unsafe findUnsafeIfAllowed() { if (isUnsafeExplicitlyDisabled()) { Logger.getLogger(UnsafeHelper.class).warning(UNSAFE_WARNING_WHEN_EXPLICTLY_DISABLED); return null; } if (!isUnalignedAccessAllowed()) { if (isUnsafeExplicitlyEnforced()) { Logger.getLogger(UnsafeHelper.class).warning(UNSAFE_WARNING_WHEN_ENFORCED_ON_PLATFORM_WHERE_NOT_SUPPORTED); } else { Logger.getLogger(UnsafeHelper.class).warning(UNSAFE_WARNING_WHEN_UNALIGNED_ACCESS_NOT_ALLOWED); return null; } } Unsafe unsafe = findUnsafe(); if (unsafe == null) { Logger.getLogger(UnsafeHelper.class).warning(UNSAFE_WARNING_WHEN_NOT_FOUND); } return unsafe; }
Example 37
Project: java-sizeof-master File: BlackMagic.java View source code |
/** * Returns Unsafe if available or throw a RuntimeException. */ public static sun.misc.Unsafe getUnsafe() { try { final Class<?> unsafeClass = Class.forName("sun.misc.Unsafe"); final Field unsafeField = unsafeClass.getDeclaredField("theUnsafe"); unsafeField.setAccessible(true); return (sun.misc.Unsafe) unsafeField.get(null); } catch (Throwable t) { throw new RuntimeException("Unsafe not available.", t); } }
Example 38
Project: guava-libraries-master File: Striped64.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException se) { try { return java.security.AccessController.doPrivileged(new java.security.PrivilegedExceptionAction<sun.misc.Unsafe>() { public sun.misc.Unsafe run() throws Exception { java.lang.reflect.Field f; try { f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); } catch (NoSuchFieldException e) { f = sun.misc.Unsafe.class.getDeclaredField("THE_ONE"); } f.setAccessible(true); return (sun.misc.Unsafe) f.get(null); } }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } } }
Example 39
Project: caffeine-master File: UnsafeAccess.java View source code |
static Unsafe load(String openJdk, String android) throws NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Field field; try { // try OpenJDK field name field = Unsafe.class.getDeclaredField(openJdk); } catch (NoSuchFieldException e) { try { field = Unsafe.class.getDeclaredField(android); } catch (NoSuchFieldException e2) { Constructor<Unsafe> unsafeConstructor = Unsafe.class.getDeclaredConstructor(); unsafeConstructor.setAccessible(true); return unsafeConstructor.newInstance(); } } field.setAccessible(true); return (Unsafe) field.get(null); }
Example 40
Project: ceylon-compiler-master File: T6873845.java View source code |
public void run() throws Exception { String out = compile(Arrays.asList("-XDrawDiagnostics", "-X")); if (out.contains("sunapi")) throw new Exception("unexpected output for -X"); String warn1 = "T6873845.java:72:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String warn2 = "T6873845.java:77:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String note1 = "- compiler.note.sunapi.filename: T6873845.java" + newline; String note2 = "- compiler.note.sunapi.recompile" + newline; test(opts(), warn1 + warn2 + "2 warnings" + newline); test(opts("-XDenableSunApiLintControl"), note1 + note2); test(opts("-XDenableSunApiLintControl", "-XDsuppressNotes"), ""); test(opts("-XDenableSunApiLintControl", "-Xlint:sunapi"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all,-sunapi"), note1 + note2); }
Example 41
Project: Funcheck-master File: T6873845.java View source code |
public void run() throws Exception { String out = compile(Arrays.asList("-XDrawDiagnostics", "-X")); if (out.contains("sunapi")) throw new Exception("unexpected output for -X"); String warn1 = "T6873845.java:72:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String warn2 = "T6873845.java:77:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String note1 = "- compiler.note.sunapi.filename: T6873845.java" + newline; String note2 = "- compiler.note.sunapi.recompile" + newline; test(opts(), warn1 + warn2 + "2 warnings" + newline); test(opts("-XDenableSunApiLintControl"), note1 + note2); test(opts("-XDenableSunApiLintControl", "-XDsuppressNotes"), ""); test(opts("-XDenableSunApiLintControl", "-Xlint:sunapi"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all,-sunapi"), note1 + note2); }
Example 42
Project: javappp-master File: T6873845.java View source code |
public void run() throws Exception { String out = compile(Arrays.asList("-XDrawDiagnostics", "-X")); if (out.contains("sunapi")) throw new Exception("unexpected output for -X"); String warn1 = "T6873845.java:72:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String warn2 = "T6873845.java:77:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String note1 = "- compiler.note.sunapi.filename: T6873845.java" + newline; String note2 = "- compiler.note.sunapi.recompile" + newline; test(opts(), warn1 + warn2 + "2 warnings" + newline); test(opts("-XDenableSunApiLintControl"), note1 + note2); test(opts("-XDenableSunApiLintControl", "-XDsuppressNotes"), ""); test(opts("-XDenableSunApiLintControl", "-Xlint:sunapi"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all,-sunapi"), note1 + note2); }
Example 43
Project: jdk7u-langtools-master File: T6873845.java View source code |
public void run() throws Exception { String out = compile(Arrays.asList("-XDrawDiagnostics", "-X")); if (out.contains("sunapi")) throw new Exception("unexpected output for -X"); String warn1 = "T6873845.java:72:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String warn2 = "T6873845.java:77:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String note1 = "- compiler.note.sunapi.filename: T6873845.java" + newline; String note2 = "- compiler.note.sunapi.recompile" + newline; test(opts(), warn1 + warn2 + "2 warnings" + newline); test(opts("-XDenableSunApiLintControl"), note1 + note2); test(opts("-XDenableSunApiLintControl", "-XDsuppressNotes"), ""); test(opts("-XDenableSunApiLintControl", "-Xlint:sunapi"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all,-sunapi"), note1 + note2); }
Example 44
Project: jsr308-langtools-master File: T6873845.java View source code |
public void run() throws Exception { String out = compile(Arrays.asList("-XDrawDiagnostics", "-X")); if (out.contains("sunapi")) throw new Exception("unexpected output for -X"); String warn1 = "T6873845.java:73:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String warn2 = "T6873845.java:78:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String note1 = "- compiler.note.sunapi.filename: T6873845.java" + newline; String note2 = "- compiler.note.sunapi.recompile" + newline; test(opts(), warn1 + warn2 + "2 warnings" + newline); test(opts("-XDenableSunApiLintControl"), note1 + note2); test(opts("-XDenableSunApiLintControl", "-XDsuppressNotes"), ""); test(opts("-XDenableSunApiLintControl", "-Xlint:sunapi"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all,-sunapi"), note1 + note2); }
Example 45
Project: OpenJML-master File: T6873845.java View source code |
public void run() throws Exception { String out = compile(Arrays.asList("-XDrawDiagnostics", "-X")); if (out.contains("sunapi")) throw new Exception("unexpected output for -X"); String warn1 = "T6873845.java:72:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String warn2 = "T6873845.java:77:9: compiler.warn.sun.proprietary: sun.misc.Unsafe" + newline; String note1 = "- compiler.note.sunapi.filename: T6873845.java" + newline; String note2 = "- compiler.note.sunapi.recompile" + newline; test(opts(), warn1 + warn2 + "2 warnings" + newline); test(opts("-XDenableSunApiLintControl"), note1 + note2); test(opts("-XDenableSunApiLintControl", "-XDsuppressNotes"), ""); test(opts("-XDenableSunApiLintControl", "-Xlint:sunapi"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all"), warn1 + "1 warning" + newline); test(opts("-XDenableSunApiLintControl", "-Xlint:all,-sunapi"), note1 + note2); }
Example 46
Project: tengi-master File: UnsafeUtil.java View source code |
@Override public Unsafe run() { try { Class<Unsafe> type = Unsafe.class; try { Field field = type.getDeclaredField("theUnsafe"); field.setAccessible(true); return type.cast(field.get(type)); } catch (Exception e) { for (Field field : type.getDeclaredFields()) { if (type.isAssignableFrom(field.getType())) { field.setAccessible(true); return type.cast(field.get(type)); } } } } catch (Exception e) { throw new RuntimeException("Unsafe unavailable", e); } throw new RuntimeException("Unsafe unavailable"); }
Example 47
Project: hugecast-master File: PlatformDependent.java View source code |
private static boolean hasUnsafe0() { boolean noUnsafe = SystemPropertyUtil.getBoolean("io.netty.noUnsafe", false); if (logger.isFinestEnabled()) { logger.finest("-Dio.netty.noUnsafe: " + noUnsafe); } if (noUnsafe) { logger.finest("sun.misc.Unsafe: unavailable (io.netty.noUnsafe)"); return false; } // Legacy properties boolean tryUnsafe; if (SystemPropertyUtil.contains("io.netty.tryUnsafe")) { tryUnsafe = SystemPropertyUtil.getBoolean("io.netty.tryUnsafe", true); } else { tryUnsafe = SystemPropertyUtil.getBoolean("org.jboss.netty.tryUnsafe", true); } if (!tryUnsafe) { logger.finest("sun.misc.Unsafe: unavailable (io.netty.tryUnsafe/org.jboss.netty.tryUnsafe)"); return false; } try { boolean hasUnsafe = PlatformDependent0.hasUnsafe(); if (logger.isFinestEnabled()) { logger.finest("sun.misc.Unsafe: " + (hasUnsafe ? "available" : "unavailable")); } return hasUnsafe; } catch (Throwable t) { return false; } }
Example 48
Project: asynchbase-master File: Striped64.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException se) { try { return java.security.AccessController.doPrivileged(new java.security.PrivilegedExceptionAction<sun.misc.Unsafe>() { public sun.misc.Unsafe run() throws Exception { java.lang.reflect.Field f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (sun.misc.Unsafe) f.get(null); } }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } } }
Example 49
Project: cloudtm-data-platform-master File: Striped64.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException se) { try { return java.security.AccessController.doPrivileged(new java.security.PrivilegedExceptionAction<sun.misc.Unsafe>() { @Override public sun.misc.Unsafe run() throws Exception { java.lang.reflect.Field f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (sun.misc.Unsafe) f.get(null); } }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } } }
Example 50
Project: gocd-master File: Striped64.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException se) { try { return java.security.AccessController.doPrivileged(new java.security.PrivilegedExceptionAction<sun.misc.Unsafe>() { public sun.misc.Unsafe run() throws Exception { java.lang.reflect.Field f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (sun.misc.Unsafe) f.get(null); } }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } } }
Example 51
Project: guava-experimental-master File: Striped64.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException se) { try { return java.security.AccessController.doPrivileged(new java.security.PrivilegedExceptionAction<sun.misc.Unsafe>() { public sun.misc.Unsafe run() throws Exception { java.lang.reflect.Field f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (sun.misc.Unsafe) f.get(null); } }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } } }
Example 52
Project: Hystrix-master File: Striped64.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException se) { try { return java.security.AccessController.doPrivileged(new java.security.PrivilegedExceptionAction<sun.misc.Unsafe>() { public sun.misc.Unsafe run() throws Exception { java.lang.reflect.Field f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (sun.misc.Unsafe) f.get(null); } }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } } }
Example 53
Project: ignite-master File: Striped64_8.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException se) { try { return java.security.AccessController.doPrivileged(new java.security.PrivilegedExceptionAction<sun.misc.Unsafe>() { public sun.misc.Unsafe run() throws Exception { java.lang.reflect.Field f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (sun.misc.Unsafe) f.get(null); } }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } } }
Example 54
Project: instrumentation-master File: Striped64.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 55
Project: janusproject-master File: UnsignedBytes.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 56
Project: jnlp-master File: UnsignedBytes.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 57
Project: jst-master File: Striped64.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 58
Project: jstorm-master File: Striped64.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 59
Project: light-4j-master File: UnsafeStriped64.java View source code |
@Override public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 60
Project: mango-master File: Striped64.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 61
Project: metr-master File: UnsafeStriped64.java View source code |
@Override public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 62
Project: metric-master File: UnsafeStriped64.java View source code |
@Override public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 63
Project: metrics-master File: UnsafeStriped64.java View source code |
@Override public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 64
Project: monitoring-master File: Striped64.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 65
Project: netty4study-master File: Striped64.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 66
Project: org.openntf.domino-master File: UnsignedBytes.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 67
Project: pinpoint-master File: Striped64.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 68
Project: reactive-audit-master File: Striped64.java View source code |
@Override public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 69
Project: seeds-libraries-master File: UnsignedBytes.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 70
Project: Springs-master File: Striped64.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 71
Project: springside4-master File: Striped64.java View source code |
public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } throw new NoSuchFieldError("the Unsafe"); }
Example 72
Project: thread_safe-master File: Striped64.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException se) { try { return java.security.AccessController.doPrivileged(new java.security.PrivilegedExceptionAction<sun.misc.Unsafe>() { public sun.misc.Unsafe run() throws Exception { java.lang.reflect.Field f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (sun.misc.Unsafe) f.get(null); } }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } } }
Example 73
Project: bazel-master File: UnsafeUtil.java View source code |
@Override public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) { return k.cast(x); } } // The sun.misc.Unsafe field does not exist. return null; }
Example 74
Project: Correct-master File: UnsafeUtil.java View source code |
@Override public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) { return k.cast(x); } } // The sun.misc.Unsafe field does not exist. return null; }
Example 75
Project: test-master File: UnsafeUtil.java View source code |
@Override public sun.misc.Unsafe run() throws Exception { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) { return k.cast(x); } } // The sun.misc.Unsafe field does not exist. return null; }
Example 76
Project: mapdb-master File: UnsafeVolume.java View source code |
@SuppressWarnings("restriction") private static sun.misc.Unsafe getUnsafe() { if (ByteOrder.nativeOrder() != ByteOrder.LITTLE_ENDIAN) { LOG.log(Level.WARNING, "This is not Little Endian platform. Unsafe optimizations are disabled."); return null; } try { java.lang.reflect.Field singleoneInstanceField = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); singleoneInstanceField.setAccessible(true); sun.misc.Unsafe ret = (sun.misc.Unsafe) singleoneInstanceField.get(null); return ret; } catch (Throwable e) { LOG.log(Level.WARNING, "Could not instantiate sun.misc.Unsafe. Fall back to DirectByteBuffer and other alternatives.", e); return null; } }
Example 77
Project: amza-master File: KeyUtil.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException tryReflectionInstead) { } try { return java.security.AccessController.doPrivileged((java.security.PrivilegedExceptionAction<Unsafe>) () -> { Class<Unsafe> k = Unsafe.class; for (java.lang.reflect.Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) { return k.cast(x); } } throw new NoSuchFieldError("the Unsafe"); }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } }
Example 78
Project: hasor-master File: Accessors.java View source code |
private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (Exception e) { } try { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } return null; } catch (Exception e) { return null; } }
Example 79
Project: hprose-java-master File: Accessors.java View source code |
private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (Exception e) { } try { Class<sun.misc.Unsafe> k = sun.misc.Unsafe.class; for (Field f : k.getDeclaredFields()) { f.setAccessible(true); Object x = f.get(null); if (k.isInstance(x)) return k.cast(x); } return null; } catch (Exception e) { return null; } }
Example 80
Project: incubator-twill-master File: Instances.java View source code |
/** * Creates a new instance of the given class. It will use the default constructor if it is presents. * Otherwise it will try to use {@link sun.misc.Unsafe#allocateInstance(Class)} to create the instance. * @param clz Class of object to be instantiated. * @param <T> Type of the class * @return An instance of type {@code <T>} */ @SuppressWarnings("unchecked") public static <T> T newInstance(Class<T> clz) { try { try { Constructor<T> cons = clz.getDeclaredConstructor(); if (!cons.isAccessible()) { cons.setAccessible(true); } return cons.newInstance(); } catch (Exception e) { Preconditions.checkState(UNSAFE != null, "Fail to instantiate with Unsafe."); return unsafeCreate(clz); } } catch (Exception e) { throw Throwables.propagate(e); } }
Example 81
Project: intellij-community-master File: DirectBufferWrapper.java View source code |
@ReviseWhenPortedToJDK("9") static // return true if successful boolean disposeDirectBuffer(final ByteBuffer buffer) { if (!(buffer instanceof DirectBuffer)) return true; if (SystemInfo.IS_AT_LEAST_JAVA9) { // in JDK9 the "official" dispose method is sun.misc.Unsafe#invokeCleaner // since we have to target both jdk 8 and 9 we have to use reflection Unsafe unsafe = AtomicFieldUpdater.getUnsafe(); try { Method invokeCleaner = unsafe.getClass().getMethod("invokeCleaner", ByteBuffer.class); invokeCleaner.setAccessible(true); invokeCleaner.invoke(unsafe, buffer); return true; } catch (Exception e) { LOG.error(e); throw new RuntimeException(e); } } try { Cleaner cleaner = ((DirectBuffer) buffer).cleaner(); // Already cleaned otherwise if (cleaner != null) cleaner.clean(); return true; } catch (Throwable e) { return false; } }
Example 82
Project: nextprot-api-master File: ExperimentalContextDictAnalyserApp.java View source code |
@Override
protected void execute() throws IOException {
ExperimentalContextDictionaryService bean = getBean(ExperimentalContextDictionaryService.class);
Map<Long, ExperimentalContext> dict = bean.getAllExperimentalContexts();
/* If instrumentation is available, use it, otherwise guess the size using sun.misc.Unsafe; if that is unavailable,
* guess using predefined specifications -> setting jamm as -javaagent is now optional */
MemoryMeter memMeter = new MemoryMeter().withGuessing(MemoryMeter.Guess.FALLBACK_BEST);
if (getCommandLineParser().isDebugMode()) {
memMeter = memMeter.enableDebug();
}
long shallowMemory = memMeter.measure(dict);
long deepMemory = memMeter.measureDeep(dict);
long childrenCount = memMeter.countChildren(dict);
StringBuilder sb = new StringBuilder("experimental-context-dictionary memory allocation: ");
sb.append("shallow=").append(shallowMemory).append("B").append(", deep=").append((int) Math.ceil(deepMemory / 1024.)).append("KB").append(", children#=").append(childrenCount).append("\n");
System.out.printf(sb.toString());
}
Example 83
Project: es6draft-master File: UnsafeHolder.java View source code |
private static Unsafe initializeUnsafe() { try { return Unsafe.getUnsafe(); } catch (SecurityException e) { try { return AccessController.doPrivileged((PrivilegedExceptionAction<Unsafe>) () -> { Field f = Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (Unsafe) f.get(null); }); } catch (PrivilegedActionException e2) { throw new ExceptionInInitializerError(e2.getException()); } } }
Example 84
Project: graal-core-master File: UnsafeAccess.java View source code |
private static Unsafe initUnsafe() { try { // Fast path when we are trusted. return Unsafe.getUnsafe(); } catch (SecurityException se) { try { Field theUnsafe = Unsafe.class.getDeclaredField("theUnsafe"); theUnsafe.setAccessible(true); return (Unsafe) theUnsafe.get(Unsafe.class); } catch (Exception e) { throw new RuntimeException("exception while trying to get Unsafe", e); } } }
Example 85
Project: graal-master File: UnsafeAccess.java View source code |
private static Unsafe initUnsafe() { try { // Fast path when we are trusted. return Unsafe.getUnsafe(); } catch (SecurityException se) { try { Field theUnsafe = Unsafe.class.getDeclaredField("theUnsafe"); theUnsafe.setAccessible(true); return (Unsafe) theUnsafe.get(Unsafe.class); } catch (Exception e) { throw new RuntimeException("exception while trying to get Unsafe", e); } } }
Example 86
Project: incubator-hivemall-master File: UnsafeUtils.java View source code |
private static Unsafe _getUnsafe() { if (UnsafeUtils.class.getClassLoader() == null) { return Unsafe.getUnsafe(); } try { final Field fld = Unsafe.class.getDeclaredField("theUnsafe"); fld.setAccessible(true); return (Unsafe) fld.get(UnsafeUtils.class); } catch (Exception e) { return null; } }
Example 87
Project: j2objc-master File: UnsafeTest.java View source code |
public void testAllocInstance() { Unsafe unsafe = Unsafe.getUnsafe(); Object o = unsafe.allocateInstance(UnsafeTest.class); assertTrue(o instanceof UnsafeTest); try { o = unsafe.allocateInstance(AbstractTestClass.class); fail("abstract class instantiated"); } catch (Exception e) { assertTrue(e instanceof InstantiationException); } try { o = unsafe.allocateInstance(TestEnum.class); fail("enum instantiated"); } catch (Exception e) { assertTrue(e instanceof InstantiationException); } try { o = unsafe.allocateInstance(TestInterface.class); fail("interface class instantiated"); } catch (Exception e) { assertTrue(e instanceof InstantiationException); } try { int[] array = new int[0]; o = unsafe.allocateInstance(array.getClass()); fail("array class instantiated"); } catch (Exception e) { assertTrue(e instanceof InstantiationException); } }
Example 88
Project: JCGO-master File: TrigCompileAllVmClasses.java View source code |
static void main(String[] args) throws Throwable {
if (args == null)
return;
"".intern();
new java.lang.ref.SoftReference("");
new java.util.Date();
new java.io.File("!").deleteOnExit();
java.nio.ByteBuffer.allocateDirect(1);
// throws IndexOutOfBoundsException
Runtime.getRuntime().exec("");
Runtime.runFinalizersOnExit(true);
Compiler.command("");
new java.net.Socket("", 0);
java.lang.reflect.Array.newInstance(byte.class, 0);
Thread.class.getDeclaredFields();
java.lang.reflect.Proxy.getProxyClass(Object[][].class.getClassLoader(), new Class[] { Runnable.class });
ManagementFactory.getClassLoadingMXBean().isVerbose();
ManagementFactory.getCompilationMXBean().getTotalCompilationTime();
ManagementFactory.getMemoryMXBean().setVerbose(false);
ManagementFactory.getRuntimeMXBean().getInputArguments();
ManagementFactory.getThreadMXBean().getThreadCpuTime(0);
((GarbageCollectorMXBean) ManagementFactory.getGarbageCollectorMXBeans().get(0)).getCollectionCount();
((MemoryManagerMXBean) ManagementFactory.getMemoryManagerMXBeans().get(0)).isValid();
((MemoryPoolMXBean) ManagementFactory.getMemoryPoolMXBeans().get(0)).getCollectionUsageThreshold();
Math.IEEEremainder(0, 0);
Math.acos(0);
Math.asin(0);
Math.atan2(0, 0);
Math.atan(0);
Math.cbrt(0);
Math.ceil(0);
Math.cos(0);
Math.cosh(0);
Math.exp(0);
Math.expm1(0);
Math.floor(0);
Math.hypot(0, 0);
Math.log10(0);
Math.log1p(0);
Math.log(0);
Math.pow(0, 0);
Math.rint(0);
Math.sin(0);
Math.sinh(0);
Math.sqrt(0);
Math.tan(0);
Math.tanh(0);
Class.forName("java.lang.VMClassLoader$ClassParser");
Class.forName("sun.misc.Unsafe").getMethod("getUnsafe", new Class[] {});
Class.forName("gnu.java.lang.InstrumentationImpl").getMethod("getAllLoadedClasses", new Class[] {});
Class.forName("gnu.java.lang.management.VMOperatingSystemMXBeanImpl").getMethod("getSystemLoadAverage", new Class[] {});
}
Example 89
Project: JCommon-master File: TestUnsafeAccessor.java View source code |
/**
* allocates 1MB, write a bunch of bytes, reads them back, frees the memory
* @throws Exception
*/
@Test(groups = "fast")
public void testSanity() throws Exception {
Unsafe unsafe = UnsafeAccessor.get();
int size = 1024 * 1024;
long ptr = unsafe.allocateMemory(size);
long writePtr = ptr;
for (int i = 0; i < size; i++) {
byte b = (byte) (i % 127);
unsafe.putByte(writePtr, b);
writePtr++;
}
long readPtr = ptr;
for (int i = 0; i < size; i++) {
byte b = (byte) (i % 127);
byte readByte = unsafe.getByte(readPtr);
readPtr++;
Assert.assertEquals(b, readByte);
}
unsafe.freeMemory(ptr);
}
Example 90
Project: MCFreedomLauncher-master File: UnsafeAllocator.java View source code |
public static UnsafeAllocator create() {
try {
Class unsafeClass = Class.forName("sun.misc.Unsafe");
Field f = unsafeClass.getDeclaredField("theUnsafe");
f.setAccessible(true);
final Object unsafe = f.get(null);
Method allocateInstance = unsafeClass.getMethod("allocateInstance", new Class[] { Class.class });
return new UnsafeAllocator() {
public <T> T newInstance(Class<T> c) throws Exception {
return this.val$allocateInstance.invoke(unsafe, new Object[] { c });
}
};
} catch (Exception ignored) {
try {
Method newInstance = ObjectInputStream.class.getDeclaredMethod("newInstance", new Class[] { Class.class, Class.class });
newInstance.setAccessible(true);
return new UnsafeAllocator() {
public <T> T newInstance(Class<T> c) throws Exception {
return this.val$newInstance.invoke(null, new Object[] { c, Object.class });
}
};
} catch (Exception ignored) {
try {
Method getConstructorId = ObjectStreamClass.class.getDeclaredMethod("getConstructorId", new Class[] { Class.class });
getConstructorId.setAccessible(true);
final int constructorId = ((Integer) getConstructorId.invoke(null, new Object[] { Object.class })).intValue();
Method newInstance = ObjectStreamClass.class.getDeclaredMethod("newInstance", new Class[] { Class.class, Integer.TYPE });
newInstance.setAccessible(true);
return new UnsafeAllocator() {
public <T> T newInstance(Class<T> c) throws Exception {
return this.val$newInstance.invoke(null, new Object[] { c, Integer.valueOf(constructorId) });
}
};
} catch (Exception ignored) {
}
}
}
return new UnsafeAllocator() {
public <T> T newInstance(Class<T> c) {
throw new UnsupportedOperationException("Cannot allocate " + c);
}
};
}
Example 91
Project: MiBandDecompiled-master File: UnsafeAllocator.java View source code |
public static UnsafeAllocator create() {
A a;
try {
Class class1 = Class.forName("sun.misc.Unsafe");
Field field = class1.getDeclaredField("theUnsafe");
field.setAccessible(true);
Object obj = field.get(null);
a = new A(class1.getMethod("allocateInstance", new Class[] { java / lang / Class }), obj);
} catch (Exception exception) {
B b;
try {
Method method2 = java / io / ObjectInputStream.getDeclaredMethod("newInstance", new Class[] { java / lang / Class, java / lang / Class });
method2.setAccessible(true);
b = new B(method2);
} catch (Exception exception1) {
C c;
try {
Method method = java / io / ObjectStreamClass.getDeclaredMethod("getConstructorId", new Class[] { java / lang / Class });
method.setAccessible(true);
int i = ((Integer) method.invoke(null, new Object[] { java / lang / Object })).intValue();
Class aclass[] = new Class[2];
aclass[0] = java / lang / Class;
aclass[1] = Integer.TYPE;
Method method1 = java / io / ObjectStreamClass.getDeclaredMethod("newInstance", aclass);
method1.setAccessible(true);
c = new C(method1, i);
} catch (Exception exception2) {
return new D();
}
return c;
}
return b;
}
return a;
}
Example 92
Project: openjdk-master File: UnsafeAccess.java View source code |
private static Unsafe initUnsafe() { try { // Fast path when we are trusted. return Unsafe.getUnsafe(); } catch (SecurityException se) { try { Field theUnsafe = Unsafe.class.getDeclaredField("theUnsafe"); theUnsafe.setAccessible(true); return (Unsafe) theUnsafe.get(Unsafe.class); } catch (Exception e) { throw new RuntimeException("exception while trying to get Unsafe", e); } } }
Example 93
Project: stormpot-master File: UnsafeUtil.java View source code |
private static Unsafe getUnsafe() { try { return AccessController.doPrivileged((PrivilegedExceptionAction<Unsafe>) () -> { Class<Unsafe> unsafeClass = Unsafe.class; for (Field field : unsafeClass.getDeclaredFields()) { if (unsafeClass.isAssignableFrom(field.getType())) { field.setAccessible(true); Object obj = field.get(null); return unsafeClass.cast(obj); } } return null; }); } catch (PrivilegedActionException e) { return null; } }
Example 94
Project: Truffle-master File: UnsafeAccess.java View source code |
private static Unsafe initUnsafe() { try { // Fast path when we are trusted. return Unsafe.getUnsafe(); } catch (SecurityException se) { try { Field theUnsafe = Unsafe.class.getDeclaredField("theUnsafe"); theUnsafe.setAccessible(true); return (Unsafe) theUnsafe.get(Unsafe.class); } catch (Exception e) { throw new RuntimeException("exception while trying to get Unsafe", e); } } }
Example 95
Project: z-stack-master File: MethodHandlesTest.java View source code |
@Test public void testLOOKUP() { assertThat(LOOKUP.toString().endsWith("trusted"), is(true)); //XXX: we try bootstrapped Unsafe by MethodHandle way MethodHandle HANDLE_UNSAFE = uncheckTo(() -> LOOKUP.findStaticGetter(Unsafe.class, "theUnsafe", Unsafe.class)); Unsafe unsafe = (Unsafe) uncheckTo(() -> HANDLE_UNSAFE.invoke()); System.out.printf("UNSAFE is %s and unsafe is %s", UNSAFE, unsafe); assertThat(UNSAFE == unsafe, is(true)); }
Example 96
Project: jamm-master File: MemoryMeter.java View source code |
/** * @return the shallow memory usage of @param object * @throws NullPointerException if object is null */ public long measure(Object object) { switch(guess) { case ALWAYS_UNSAFE: return MemoryLayoutSpecification.sizeOfWithUnsafe(object); case ALWAYS_SPEC: return MemoryLayoutSpecification.sizeOf(object); default: if (instrumentation == null) { switch(guess) { case NEVER: throw new IllegalStateException("Instrumentation is not set; Jamm must be set as -javaagent"); case FALLBACK_UNSAFE: if (!MemoryLayoutSpecification.hasUnsafe()) throw new IllegalStateException("Instrumentation is not set and sun.misc.Unsafe could not be obtained; Jamm must be set as -javaagent, or the SecurityManager must permit access to sun.misc.Unsafe"); //$FALL-THROUGH$ case FALLBACK_BEST: if (MemoryLayoutSpecification.hasUnsafe()) return MemoryLayoutSpecification.sizeOfWithUnsafe(object); //$FALL-THROUGH$ case FALLBACK_SPEC: return MemoryLayoutSpecification.sizeOf(object); } } return instrumentation.getObjectSize(object); } }
Example 97
Project: hawtdispatch-master File: StealingThread.java View source code |
/** * Returns a sun.misc.Unsafe. Suitable for use in a 3rd party package. * Replace with a simple call to Unsafe.getUnsafe when integrating * into a jdk. * * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { try { return sun.misc.Unsafe.getUnsafe(); } catch (SecurityException se) { try { return java.security.AccessController.doPrivileged(new java.security.PrivilegedExceptionAction<sun.misc.Unsafe>() { public sun.misc.Unsafe run() throws Exception { java.lang.reflect.Field f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); return (sun.misc.Unsafe) f.get(null); } }); } catch (java.security.PrivilegedActionException e) { throw new RuntimeException("Could not initialize intrinsics", e.getCause()); } } }
Example 98
Project: Amoeba-for-Aladdin-master File: JVM.java View source code |
/* * Support for sun.misc.Unsafe and sun.reflect.ReflectionFactory is present * in JRockit versions R25.1.0 and later, both 1.4.2 and 5.0 (and in future * 6.0 builds). */ private static boolean isBEAWithUnsafeSupport() { // This property should be "BEA Systems, Inc." if (System.getProperty("java.vm.vendor").indexOf("BEA") != -1) { /* * Recent 1.4.2 and 5.0 versions of JRockit have a java.vm.version * string starting with the "R" JVM version number, i.e. * "R26.2.0-38-57237-1.5.0_06-20060209..." */ String vmVersion = System.getProperty("java.vm.version"); if (vmVersion.startsWith("R")) { /* * We *could* also check that it's R26 or later, but that is * implicitly true */ return true; } /* * For older JRockit versions we can check java.vm.info. JRockit * 1.4.2 R24 -> "Native Threads, GC strategy: parallel" and JRockit * 5.0 R25 -> "R25.2.0-28". */ String vmInfo = System.getProperty("java.vm.info"); if (vmInfo != null) { // R25.1 or R25.2 supports Unsafe, other versions do not return (vmInfo.startsWith("R25.1") || vmInfo.startsWith("R25.2")); } } // If non-BEA, or possibly some very old JRockit version return false; }
Example 99
Project: amoeba-master File: JVM.java View source code |
/* * Support for sun.misc.Unsafe and sun.reflect.ReflectionFactory is present * in JRockit versions R25.1.0 and later, both 1.4.2 and 5.0 (and in future * 6.0 builds). */ private static boolean isBEAWithUnsafeSupport() { // This property should be "BEA Systems, Inc." if (System.getProperty("java.vm.vendor").indexOf("BEA") != -1) { /* * Recent 1.4.2 and 5.0 versions of JRockit have a java.vm.version * string starting with the "R" JVM version number, i.e. * "R26.2.0-38-57237-1.5.0_06-20060209..." */ String vmVersion = System.getProperty("java.vm.version"); if (vmVersion.startsWith("R")) { /* * We *could* also check that it's R26 or later, but that is * implicitly true */ return true; } /* * For older JRockit versions we can check java.vm.info. JRockit * 1.4.2 R24 -> "Native Threads, GC strategy: parallel" and JRockit * 5.0 R25 -> "R25.2.0-28". */ String vmInfo = System.getProperty("java.vm.info"); if (vmInfo != null) { // R25.1 or R25.2 supports Unsafe, other versions do not return (vmInfo.startsWith("R25.1") || vmInfo.startsWith("R25.2")); } } // If non-BEA, or possibly some very old JRockit version return false; }
Example 100
Project: Amoeba-Plus-For-MySQL-master File: JVM.java View source code |
/* * Support for sun.misc.Unsafe and sun.reflect.ReflectionFactory is present * in JRockit versions R25.1.0 and later, both 1.4.2 and 5.0 (and in future * 6.0 builds). */ private static boolean isBEAWithUnsafeSupport() { // This property should be "BEA Systems, Inc." if (System.getProperty("java.vm.vendor").indexOf("BEA") != -1) { /* * Recent 1.4.2 and 5.0 versions of JRockit have a java.vm.version * string starting with the "R" JVM version number, i.e. * "R26.2.0-38-57237-1.5.0_06-20060209..." */ String vmVersion = System.getProperty("java.vm.version"); if (vmVersion.startsWith("R")) { /* * We *could* also check that it's R26 or later, but that is * implicitly true */ return true; } /* * For older JRockit versions we can check java.vm.info. JRockit * 1.4.2 R24 -> "Native Threads, GC strategy: parallel" and JRockit * 5.0 R25 -> "R25.2.0-28". */ String vmInfo = System.getProperty("java.vm.info"); if (vmInfo != null) { // R25.1 or R25.2 supports Unsafe, other versions do not return (vmInfo.startsWith("R25.1") || vmInfo.startsWith("R25.2")); } } // If non-BEA, or possibly some very old JRockit version return false; }
Example 101
Project: ARTPart-master File: Main.java View source code |
public static void main(String[] args) throws Exception { Unsafe unsafe = getUnsafe(); check(unsafe.arrayBaseOffset(boolean[].class), vmArrayBaseOffset(boolean[].class), "Unsafe.arrayBaseOffset(boolean[])"); check(unsafe.arrayBaseOffset(byte[].class), vmArrayBaseOffset(byte[].class), "Unsafe.arrayBaseOffset(byte[])"); check(unsafe.arrayBaseOffset(char[].class), vmArrayBaseOffset(char[].class), "Unsafe.arrayBaseOffset(char[])"); check(unsafe.arrayBaseOffset(double[].class), vmArrayBaseOffset(double[].class), "Unsafe.arrayBaseOffset(double[])"); check(unsafe.arrayBaseOffset(float[].class), vmArrayBaseOffset(float[].class), "Unsafe.arrayBaseOffset(float[])"); check(unsafe.arrayBaseOffset(int[].class), vmArrayBaseOffset(int[].class), "Unsafe.arrayBaseOffset(int[])"); check(unsafe.arrayBaseOffset(long[].class), vmArrayBaseOffset(long[].class), "Unsafe.arrayBaseOffset(long[])"); check(unsafe.arrayBaseOffset(Object[].class), vmArrayBaseOffset(Object[].class), "Unsafe.arrayBaseOffset(Object[])"); check(unsafe.arrayIndexScale(boolean[].class), vmArrayIndexScale(boolean[].class), "Unsafe.arrayIndexScale(boolean[])"); check(unsafe.arrayIndexScale(byte[].class), vmArrayIndexScale(byte[].class), "Unsafe.arrayIndexScale(byte[])"); check(unsafe.arrayIndexScale(char[].class), vmArrayIndexScale(char[].class), "Unsafe.arrayIndexScale(char[])"); check(unsafe.arrayIndexScale(double[].class), vmArrayIndexScale(double[].class), "Unsafe.arrayIndexScale(double[])"); check(unsafe.arrayIndexScale(float[].class), vmArrayIndexScale(float[].class), "Unsafe.arrayIndexScale(float[])"); check(unsafe.arrayIndexScale(int[].class), vmArrayIndexScale(int[].class), "Unsafe.arrayIndexScale(int[])"); check(unsafe.arrayIndexScale(long[].class), vmArrayIndexScale(long[].class), "Unsafe.arrayIndexScale(long[])"); check(unsafe.arrayIndexScale(Object[].class), vmArrayIndexScale(Object[].class), "Unsafe.arrayIndexScale(Object[])"); TestClass t = new TestClass(); int intValue = 12345678; Field intField = TestClass.class.getDeclaredField("intVar"); long intOffset = unsafe.objectFieldOffset(intField); check(unsafe.getInt(t, intOffset), 0, "Unsafe.getInt(Object, long) - initial"); unsafe.putInt(t, intOffset, intValue); check(t.intVar, intValue, "Unsafe.putInt(Object, long, int)"); check(unsafe.getInt(t, intOffset), intValue, "Unsafe.getInt(Object, long)"); Field longField = TestClass.class.getDeclaredField("longVar"); long longOffset = unsafe.objectFieldOffset(longField); long longValue = 1234567887654321L; check(unsafe.getLong(t, longOffset), 0, "Unsafe.getLong(Object, long) - initial"); unsafe.putLong(t, longOffset, longValue); check(t.longVar, longValue, "Unsafe.putLong(Object, long, long)"); check(unsafe.getLong(t, longOffset), longValue, "Unsafe.getLong(Object, long)"); }