UnicodeString & NumberFormatTestTuple::toString( UnicodeString &appendTo) const { appendTo.append("{"); UBool first = TRUE; for (int32_t i = 0; i < kNumberFormatTestTupleFieldCount; ++i) { if (!isFlag(i)) { continue; } if (!first) { appendTo.append(", "); } first = FALSE; appendTo.append(gFieldData[i].name); appendTo.append(": "); gFieldData[i].ops->toString(getFieldAddress(i), appendTo); } appendTo.append("}"); return appendTo; }
jint Java_sun_misc_Unsafe_getIntVolatile(Env* env, Object* unsafe, Object* obj, jlong offset) { if (!checkNull(env, obj)) return 0; jint* address = (jint*) getFieldAddress(obj, offset); return rvmAtomicLoadInt(address); }
jint Java_sun_misc_Unsafe_getInt(Env* env, Object* unsafe, Object* obj, jlong offset) { if (!checkNull(env, obj)) return 0; jint* address = (jint*) getFieldAddress(obj, offset); return *address; }
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); }
jboolean Java_sun_misc_Unsafe_compareAndSwapInt(Env* env, Object* unsafe, Object* obj, jlong offset, jint expectedValue, jint newValue) { if (!checkNull(env, obj)) return FALSE; jint* address = (jint*) getFieldAddress(obj, offset); return rvmAtomicCompareAndSwapInt(address, expectedValue, newValue); }
void Java_sun_misc_Unsafe_putOrderedObject(Env* env, Object* unsafe, Object* obj, jlong offset, Object* newValue) { if (!checkNull(env, obj)) return; Object** address = (Object**) getFieldAddress(obj, offset); rvmAtomicSynchronize(); *address = newValue; }
void Java_sun_misc_Unsafe_putObjectVolatile(Env* env, Object* unsafe, Object* obj, jlong offset, Object* newValue) { if (!checkNull(env, obj)) return; Object** address = (Object**) getFieldAddress(obj, offset); rvmAtomicStorePtr((void**) address, newValue); }
void Java_sun_misc_Unsafe_putLongVolatile(Env* env, Object* unsafe, Object* obj, jlong offset, jlong newValue) { if (!checkNull(env, obj)) return; jlong* address = (jlong*) getFieldAddress(obj, offset); rvmAtomicStoreLong(address, newValue); }
void Java_sun_misc_Unsafe_putLong(Env* env, Object* unsafe, Object* obj, jlong offset, jlong newValue) { if (!checkNull(env, obj)) return; jlong* address = (jlong*) getFieldAddress(obj, offset); *address = newValue; }
Object* Java_sun_misc_Unsafe_getObjectVolatile(Env* env, Object* unsafe, Object* obj, jlong offset) { if (!checkNull(env, obj)) return NULL; Object** address = (Object**) getFieldAddress(obj, offset); return (Object*) rvmAtomicLoadPtr((void**) address); }
Object* Java_sun_misc_Unsafe_getObject(Env* env, Object* unsafe, Object* obj, jlong offset) { if (!checkNull(env, obj)) return NULL; Object** address = (Object**) getFieldAddress(obj, offset); return *address; }