예제 #1
0
jboolean Java_sun_misc_Unsafe_compareAndSwapObject(Env* env, Object* unsafe, Object* object, jlong offset, Object* expectedValue, Object* newValue) {
    void** address = (void**) (((jbyte*) object) + offset);
    return rvmAtomicCompareAndSwapPtr(address, expectedValue, newValue);
}
예제 #2
0
jboolean Java_sun_misc_Unsafe_compareAndSwapObject(Env* env, Object* unsafe, Object* obj, jlong offset, Object* expectedValue, Object* newValue) {
    if (!checkNull(env, obj)) return FALSE;
    void** address = (void**) getFieldAddress(obj, offset);
    return rvmAtomicCompareAndSwapPtr(address, expectedValue, newValue);
}