This class may be removed in the future. Consider the replacements in JEP 193 'Variable Handles': http://openjdk.java.net/jeps/193
@Override void putNext(Waiter waiter, Waiter newValue) { UNSAFE.putObject(waiter, WAITER_NEXT_OFFSET, newValue); }
@Override void putThread(Waiter waiter, Thread newValue) { UNSAFE.putObject(waiter, WAITER_THREAD_OFFSET, newValue); }
static void putObject(Object o, long offset, Object x) { UNSAFE.putObject(o, offset, x); }
@Override void putThread(Waiter waiter, Thread newValue) { UNSAFE.putObject(waiter, WAITER_THREAD_OFFSET, newValue); }
@Override void putNext(Waiter waiter, Waiter newValue) { UNSAFE.putObject(waiter, WAITER_NEXT_OFFSET, newValue); }
static void putObject(Object o, long offset, Object x) { UNSAFE.putObject(o, offset, x); }
/** * A plain store (no ordering/fences) of an element to a given offset * * @param buffer this.buffer * @param offset computed via {@link UnsafeRefArrayAccess#calcElementOffset(long)} * @param e an orderly kitty */ public static <E> void spElement(E[] buffer, long offset, E e) { UNSAFE.putObject(buffer, offset, e); }
public static void putObject( Object obj, long offset, Object value ) { unsafe.putObject( obj, offset, value ); }
@Override void putNext(Waiter waiter, Waiter newValue) { UNSAFE.putObject(waiter, WAITER_NEXT_OFFSET, newValue); }
@Override void putThread(Waiter waiter, Thread newValue) { UNSAFE.putObject(waiter, WAITER_THREAD_OFFSET, newValue); }
/** * Constructs a new node. Uses relaxed write because item can * only be seen after publication via casNext. */ Node(Object item, boolean isData) { UNSAFE.putObject(this, itemOffset, item); // relaxed write this.isData = isData; }
/** * Links node to itself to avoid garbage retention. Called * only after CASing head field, so uses relaxed write. */ final void forgetNext() { UNSAFE.putObject(this, nextOffset, this); }
/** * Links node to itself to avoid garbage retention. Called * only after CASing head field, so uses relaxed write. */ final void forgetNext() { UNSAFE.putObject(this, nextOffset, this); }
/** * Constructs a new node. Uses relaxed write because item can * only be seen after publication via casNext. */ Node(Object item, boolean isData) { UNSAFE.putObject(this, itemOffset, item); // relaxed write this.isData = isData; }
/** * Constructs a new node. Uses relaxed write because item can * only be seen after publication via casNext or casPrev. */ Node(E item) { UNSAFE.putObject(this, itemOffset, item); }
/** * Links node to itself to avoid garbage retention. Called * only after CASing head field, so uses relaxed write. */ final void forgetNext() { UNSAFE.putObject(this, nextOffset, this); }
/** * Constructs a new node. Uses relaxed write because item can * only be seen after publication via casNext. */ Node(Object item, boolean isData) { UNSAFE.putObject(this, itemOffset, item); // relaxed write this.isData = isData; }
/** * Constructs a new node. Uses relaxed write because item can * only be seen after publication via casNext or casPrev. */ Node(E item) { UNSAFE.putObject(this, itemOffset, item); }
public final void setObjectValue(Object target, Object value) throws IllegalAccessException { if (!isAndroid && memOffset >= 0) { FSTUtil.unFlaggedUnsafe.putObject(target, memOffset, value); return; } field.set(target, value); }
static String unsafeCreateString(char[] chars) { String mutable = new String(); UNSAFE.putObject(mutable, STRING_VALUE_FIELD_OFFSET, chars); if (STRING_COUNT_FIELD_OFFSET != -1) { UNSAFE.putInt(mutable, STRING_COUNT_FIELD_OFFSET, chars.length); } return mutable; }