src/share/vm/prims/unsafe.cpp

Print this page

        

*** 322,331 **** --- 322,351 ---- } UNSAFE_END #endif // not SUPPORTS_NATIVE_CX8 + UNSAFE_ENTRY(jboolean, Unsafe_isBigEndian0(JNIEnv *env, jobject unsafe)) + UnsafeWrapper("Unsafe_IsBigEndian0"); + { + #ifdef VM_BIG_ENDIAN + return true; + #elif defined(VM_LITTLE_ENDIAN) + return false; + #else + #error VM_LITTLE_ENDIAN or VM_BIG_ENDIAN must be defined + #endif + } + UNSAFE_END + + UNSAFE_ENTRY(jint, Unsafe_unalignedAccess0(JNIEnv *env, jobject unsafe)) + UnsafeWrapper("Unsafe_UnalignedAccess0"); + { + return UseUnalignedAccesses; + } + UNSAFE_END + #define DEFINE_GETSETOOP(jboolean, Boolean) \ \ UNSAFE_ENTRY(jboolean, Unsafe_Get##Boolean##140(JNIEnv *env, jobject unsafe, jobject obj, jint offset)) \ UnsafeWrapper("Unsafe_Get"#Boolean); \ if (obj == NULL) THROW_0(vmSymbols::java_lang_NullPointerException()); \
*** 1259,1268 **** --- 1279,1291 ---- {CC"shouldBeInitialized",CC"("CLS")Z", FN_PTR(Unsafe_ShouldBeInitialized)}, {CC"loadFence", CC"()V", FN_PTR(Unsafe_LoadFence)}, {CC"storeFence", CC"()V", FN_PTR(Unsafe_StoreFence)}, {CC"fullFence", CC"()V", FN_PTR(Unsafe_FullFence)}, + + {CC"isBigEndian0", CC"()Z", FN_PTR(Unsafe_isBigEndian0)}, + {CC"unalignedAccess0", CC"()Z", FN_PTR(Unsafe_unalignedAccess0)} }; #undef CC #undef FN_PTR