/art/test/067-preemptive-unpark/src/ |
Main.java | 1 import sun.misc.Unsafe; 6 private static Unsafe UNSAFE; 16 UNSAFE.unpark(test); 41 * Set up {@link #UNSAFE}. 45 * Subvert the access check to get the unique Unsafe instance. 50 Field field = Unsafe.class.getDeclaredField("THE_ONE"); 53 UNSAFE = (Unsafe) field.get(null); 96 UNSAFE.park(false, 500 * 1000000); // 500 mse [all...] |
/libcore/luni/src/main/native/ |
sun_misc_Unsafe.cpp | 17 #define LOG_TAG "Unsafe" 27 NATIVE_METHOD(Unsafe, allocateInstance, "(Ljava/lang/Class;)Ljava/lang/Object;"), 30 jniRegisterNativeMethods(env, "sun/misc/Unsafe", gMethods, NELEM(gMethods));
|
/libcore/luni/src/test/java/sun/misc/ |
UnsafeTest.java | 29 Unsafe.getUnsafe(); 42 Unsafe.getUnsafe(); 59 private static Unsafe getUnsafe() throws Exception { 60 Class<?> unsafeClass = Class.forName("sun.misc.Unsafe"); 63 return (Unsafe) f.get(null);
|
/libcore/libart/src/main/java/sun/misc/ |
Unsafe.java | 29 public final class Unsafe { 31 private static final Unsafe THE_ONE = new Unsafe(); 33 private static final Unsafe theUnsafe = THE_ONE; 38 private Unsafe() {} 44 public static Unsafe getUnsafe() { 47 * Unsafe instance. 50 if ((calling != null) && (calling != Unsafe.class.getClassLoader())) { 51 throw new SecurityException("Unsafe access denied");
|
/art/runtime/native/ |
sun_misc_Unsafe.cc | 187 NATIVE_METHOD(Unsafe, compareAndSwapInt, "!(Ljava/lang/Object;JII)Z"), 188 NATIVE_METHOD(Unsafe, compareAndSwapLong, "!(Ljava/lang/Object;JJJ)Z"), 189 NATIVE_METHOD(Unsafe, compareAndSwapObject, "!(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z"), 190 NATIVE_METHOD(Unsafe, getIntVolatile, "!(Ljava/lang/Object;J)I"), 191 NATIVE_METHOD(Unsafe, putIntVolatile, "!(Ljava/lang/Object;JI)V"), 192 NATIVE_METHOD(Unsafe, getLongVolatile, "!(Ljava/lang/Object;J)J"), 193 NATIVE_METHOD(Unsafe, putLongVolatile, "!(Ljava/lang/Object;JJ)V"), 194 NATIVE_METHOD(Unsafe, getObjectVolatile, "!(Ljava/lang/Object;J)Ljava/lang/Object;"), 195 NATIVE_METHOD(Unsafe, putObjectVolatile, "!(Ljava/lang/Object;JLjava/lang/Object;)V"), 196 NATIVE_METHOD(Unsafe, getInt, "!(Ljava/lang/Object;J)I") [all...] |
/libcore/luni/src/main/java/java/util/concurrent/atomic/ |
AtomicBoolean.java | 8 import sun.misc.Unsafe; 23 // setup to use Unsafe.compareAndSwapInt for updates 24 private static final Unsafe unsafe = Unsafe.getUnsafe(); field in class:AtomicBoolean 29 valueOffset = unsafe.objectFieldOffset 72 return unsafe.compareAndSwapInt(this, valueOffset, e, u); 90 return unsafe.compareAndSwapInt(this, valueOffset, e, u); 110 unsafe.putOrderedInt(this, valueOffset, v);
|
AtomicReference.java | 8 import sun.misc.Unsafe; 21 private static final Unsafe unsafe = Unsafe.getUnsafe(); field in class:AtomicReference 26 valueOffset = unsafe.objectFieldOffset 73 unsafe.putOrderedObject(this, valueOffset, newValue); 85 return unsafe.compareAndSwapObject(this, valueOffset, expect, update); 101 return unsafe.compareAndSwapObject(this, valueOffset, expect, update);
|
AtomicInteger.java | 8 import sun.misc.Unsafe; 26 // setup to use Unsafe.compareAndSwapInt for updates 27 private static final Unsafe unsafe = Unsafe.getUnsafe(); field in class:AtomicInteger 32 valueOffset = unsafe.objectFieldOffset 79 unsafe.putOrderedInt(this, valueOffset, newValue); 106 return unsafe.compareAndSwapInt(this, valueOffset, expect, update); 122 return unsafe.compareAndSwapInt(this, valueOffset, expect, update);
|
AtomicLong.java | 8 import sun.misc.Unsafe; 26 // setup to use Unsafe.compareAndSwapLong for updates 27 private static final Unsafe unsafe = Unsafe.getUnsafe(); field in class:AtomicLong 32 * compareAndSwap for longs. While the Unsafe.compareAndSwapLong 46 valueOffset = unsafe.objectFieldOffset 93 unsafe.putOrderedLong(this, valueOffset, newValue); 120 return unsafe.compareAndSwapLong(this, valueOffset, expect, update); 136 return unsafe.compareAndSwapLong(this, valueOffset, expect, update) [all...] |
AtomicIntegerArray.java | 8 import sun.misc.Unsafe; 21 private static final Unsafe unsafe = Unsafe.getUnsafe(); field in class:AtomicIntegerArray 22 private static final int base = unsafe.arrayBaseOffset(int[].class); 27 int scale = unsafe.arrayIndexScale(int[].class); 86 return unsafe.getIntVolatile(array, offset); 96 unsafe.putIntVolatile(array, checkedByteOffset(i), newValue); 107 unsafe.putOrderedInt(array, checkedByteOffset(i), newValue); 142 return unsafe.compareAndSwapInt(array, offset, expect, update) [all...] |
AtomicLongArray.java | 8 import sun.misc.Unsafe; 20 private static final Unsafe unsafe = Unsafe.getUnsafe(); field in class:AtomicLongArray 21 private static final int base = unsafe.arrayBaseOffset(long[].class); 26 int scale = unsafe.arrayIndexScale(long[].class); 85 return unsafe.getLongVolatile(array, offset); 95 unsafe.putLongVolatile(array, checkedByteOffset(i), newValue); 106 unsafe.putOrderedLong(array, checkedByteOffset(i), newValue); 141 return unsafe.compareAndSwapLong(array, offset, expect, update) [all...] |
AtomicMarkableReference.java | 162 // Unsafe mechanics 164 private static final sun.misc.Unsafe UNSAFE = sun.misc.Unsafe.getUnsafe(); 166 objectFieldOffset(UNSAFE, "pair", AtomicMarkableReference.class); 169 return UNSAFE.compareAndSwapObject(this, pairOffset, cmp, val); 172 static long objectFieldOffset(sun.misc.Unsafe UNSAFE, 175 return UNSAFE.objectFieldOffset(klazz.getDeclaredField(field));
|
AtomicStampedReference.java | 162 // Unsafe mechanics 164 private static final sun.misc.Unsafe UNSAFE = sun.misc.Unsafe.getUnsafe(); 166 objectFieldOffset(UNSAFE, "pair", AtomicStampedReference.class); 169 return UNSAFE.compareAndSwapObject(this, pairOffset, cmp, val); 172 static long objectFieldOffset(sun.misc.Unsafe UNSAFE, 175 return UNSAFE.objectFieldOffset(klazz.getDeclaredField(field));
|
AtomicLongFieldUpdater.java | 10 import sun.misc.Unsafe; 241 private static final Unsafe unsafe = Unsafe.getUnsafe(); field in class:AtomicLongFieldUpdater.CASUpdater 282 offset = unsafe.objectFieldOffset(field); 294 return unsafe.compareAndSwapLong(obj, offset, expect, update); 299 return unsafe.compareAndSwapLong(obj, offset, expect, update); 304 unsafe.putLongVolatile(obj, offset, newValue); 309 unsafe.putOrderedLong(obj, offset, newValue); 314 return unsafe.getLongVolatile(obj, offset) 335 private static final Unsafe unsafe = Unsafe.getUnsafe(); field in class:AtomicLongFieldUpdater.LockedUpdater [all...] |
AtomicReferenceArray.java | 11 import sun.misc.Unsafe; 25 private static final Unsafe unsafe; field in class:AtomicReferenceArray 33 unsafe = Unsafe.getUnsafe(); 34 arrayFieldOffset = unsafe.objectFieldOffset 36 base = unsafe.arrayBaseOffset(Object[].class); 37 int scale = unsafe.arrayIndexScale(Object[].class); 100 return (E) unsafe.getObjectVolatile(array, offset); 110 unsafe.putObjectVolatile(array, checkedByteOffset(i), newValue) [all...] |
AtomicIntegerFieldUpdater.java | 10 import sun.misc.Unsafe; 241 private static final Unsafe unsafe = Unsafe.getUnsafe(); field in class:AtomicIntegerFieldUpdater.AtomicIntegerFieldUpdaterImpl 283 offset = unsafe.objectFieldOffset(field); 312 return unsafe.compareAndSwapInt(obj, offset, expect, update); 317 return unsafe.compareAndSwapInt(obj, offset, expect, update); 322 unsafe.putIntVolatile(obj, offset, newValue); 327 unsafe.putOrderedInt(obj, offset, newValue); 332 return unsafe.getIntVolatile(obj, offset) [all...] |
AtomicReferenceFieldUpdater.java | 9 import sun.misc.Unsafe; 157 private static final Unsafe unsafe = Unsafe.getUnsafe(); field in class:AtomicReferenceFieldUpdater.AtomicReferenceFieldUpdaterImpl 218 offset = unsafe.objectFieldOffset(field); 260 return unsafe.compareAndSwapObject(obj, offset, expect, update); 269 return unsafe.compareAndSwapObject(obj, offset, expect, update); 277 unsafe.putObjectVolatile(obj, offset, newValue); 285 unsafe.putOrderedObject(obj, offset, newValue); 292 return (V)unsafe.getObjectVolatile(obj, offset) [all...] |
/libcore/luni/src/main/java/java/util/concurrent/locks/ |
LockSupport.java | 8 import sun.misc.Unsafe; 95 private static final Unsafe unsafe = Unsafe.getUnsafe(); field in class:LockSupport 100 parkBlockerOffset = unsafe.objectFieldOffset 107 unsafe.putObject(t, parkBlockerOffset, arg); 123 unsafe.unpark(thread); 157 unsafe.park(false, 0L); 197 unsafe.park(false, nanos); 238 unsafe.park(true, deadline) [all...] |
/art/test/004-UnsafeTest/src/ |
Main.java | 18 import sun.misc.Unsafe; 39 private static Unsafe getUnsafe() throws Exception { 40 Class<?> unsafeClass = Class.forName("sun.misc.Unsafe"); 43 return (Unsafe) f.get(null); 47 Unsafe unsafe = getUnsafe(); local 48 check(unsafe.arrayBaseOffset(boolean[].class), vmArrayBaseOffset(boolean[].class), 49 "Unsafe.arrayBaseOffset(boolean[])"); 50 check(unsafe.arrayBaseOffset(byte[].class), vmArrayBaseOffset(byte[].class), 51 "Unsafe.arrayBaseOffset(byte[])") [all...] |
/libcore/harmony-tests/src/test/java/org/apache/harmony/tests/org/apache/harmony/kernel/dalvik/ |
ThreadsTest.java | 24 import sun.misc.Unsafe; 27 * Tests for the <code>park()</code> functionality of {@link Unsafe}. 30 private static Unsafe UNSAFE = null; 33 * Set up {@link #UNSAFE}. This subverts the access check to 34 * get the unique Unsafe instance. We can do this because 39 Field field = Unsafe.class.getDeclaredField("THE_ONE"); 42 UNSAFE = (Unsafe) field.get(null); 86 UNSAFE.unpark(parkerThread) [all...] |
/libcore/luni/src/main/java/java/util/concurrent/ |
SynchronousQueue.java | 217 UNSAFE.compareAndSwapObject(this, nextOffset, cmp, val); 230 UNSAFE.compareAndSwapObject(this, matchOffset, null, s)) { 245 UNSAFE.compareAndSwapObject(this, matchOffset, null, this); 252 // Unsafe mechanics 253 private static final sun.misc.Unsafe UNSAFE; 259 UNSAFE = sun.misc.Unsafe.getUnsafe(); 261 matchOffset = UNSAFE.objectFieldOffset 263 nextOffset = UNSAFE.objectFieldOffse [all...] |
CountedCompleter.java | 708 // Unsafe mechanics 709 private static final sun.misc.Unsafe U; 713 U = sun.misc.Unsafe.getUnsafe();
|
ConcurrentLinkedQueue.java | 136 * for a volatile write to item by using Unsafe.putObject instead 157 UNSAFE.putObject(this, itemOffset, item); 161 return UNSAFE.compareAndSwapObject(this, itemOffset, cmp, val); 165 UNSAFE.putOrderedObject(this, nextOffset, val); 169 return UNSAFE.compareAndSwapObject(this, nextOffset, cmp, val); 172 // Unsafe mechanics 174 private static final sun.misc.Unsafe UNSAFE; 180 UNSAFE = sun.misc.Unsafe.getUnsafe() [all...] |
ConcurrentSkipListSet.java | 446 UNSAFE.putObjectVolatile(this, mapOffset, map); 449 private static final sun.misc.Unsafe UNSAFE; 453 UNSAFE = sun.misc.Unsafe.getUnsafe(); 455 mapOffset = UNSAFE.objectFieldOffset
|
FutureTask.java | 44 * AtomicXFieldUpdaters and instead directly use Unsafe intrinsics. 137 UNSAFE.compareAndSwapInt(this, stateOffset, NEW, 147 UNSAFE.putOrderedInt(this, stateOffset, INTERRUPTED); 201 if (UNSAFE.compareAndSwapInt(this, stateOffset, NEW, COMPLETING)) { 203 UNSAFE.putOrderedInt(this, stateOffset, NORMAL); // final state 219 if (UNSAFE.compareAndSwapInt(this, stateOffset, NEW, COMPLETING)) { 221 UNSAFE.putOrderedInt(this, stateOffset, EXCEPTIONAL); // final state 228 !UNSAFE.compareAndSwapObject(this, runnerOffset, 270 !UNSAFE.compareAndSwapObject(this, runnerOffset, 338 if (UNSAFE.compareAndSwapObject(this, waitersOffset, q, null)) [all...] |