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); }
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); }