src/share/vm/opto/library_call.cpp

Print this page

        

*** 2777,2789 **** set_result(load_store); return true; } //----------------------------inline_unsafe_ordered_store---------------------- ! // public native void sun.misc.Unsafe.putOrderedObject(Object o, long offset, Object x); ! // public native void sun.misc.Unsafe.putOrderedInt(Object o, long offset, int x); ! // public native void sun.misc.Unsafe.putOrderedLong(Object o, long offset, long x); bool LibraryCallKit::inline_unsafe_ordered_store(BasicType type) { // This is another variant of inline_unsafe_access, differing in // that it always issues store-store ("release") barrier and ensures // store-atomicity (which only matters for "long"). --- 2777,2789 ---- set_result(load_store); return true; } //----------------------------inline_unsafe_ordered_store---------------------- ! // public native void [sun|jdk.internal].misc.Unsafe.putOrderedObject(Object o, long offset, Object x); ! // public native void [sun|jdk.internal].misc.Unsafe.putOrderedInt(Object o, long offset, int x); ! // public native void [sun|jdk.internal].misc.Unsafe.putOrderedLong(Object o, long offset, long x); bool LibraryCallKit::inline_unsafe_ordered_store(BasicType type) { // This is another variant of inline_unsafe_access, differing in // that it always issues store-store ("release") barrier and ensures // store-atomicity (which only matters for "long").
*** 2873,2883 **** // don't need a guard for a klass that is already initialized return !ik->is_initialized(); } //----------------------------inline_unsafe_allocate--------------------------- ! // public native Object sun.misc.Unsafe.allocateInstance(Class<?> cls); bool LibraryCallKit::inline_unsafe_allocate() { if (callee()->is_static()) return false; // caller must have the capability! null_check_receiver(); // null-check, then ignore Node* cls = null_check(argument(1)); --- 2873,2883 ---- // don't need a guard for a klass that is already initialized return !ik->is_initialized(); } //----------------------------inline_unsafe_allocate--------------------------- ! // public native Object [sun|jdk.internal].misc.Unsafe.allocateInstance(Class<?> cls); bool LibraryCallKit::inline_unsafe_allocate() { if (callee()->is_static()) return false; // caller must have the capability! null_check_receiver(); // null-check, then ignore Node* cls = null_check(argument(1));
*** 4192,4202 **** #else //_LP64 #define XTOP /*no additional argument*/ #endif //_LP64 //----------------------inline_unsafe_copyMemory------------------------- ! // public native void sun.misc.Unsafe.copyMemory(Object srcBase, long srcOffset, Object destBase, long destOffset, long bytes); bool LibraryCallKit::inline_unsafe_copyMemory() { if (callee()->is_static()) return false; // caller must have the capability! null_check_receiver(); // null-check receiver if (stopped()) return true; --- 4192,4202 ---- #else //_LP64 #define XTOP /*no additional argument*/ #endif //_LP64 //----------------------inline_unsafe_copyMemory------------------------- ! // public native void [sun|jdk.internal].misc.Unsafe.copyMemory(Object srcBase, long srcOffset, Object destBase, long destOffset, long bytes); bool LibraryCallKit::inline_unsafe_copyMemory() { if (callee()->is_static()) return false; // caller must have the capability! null_check_receiver(); // null-check receiver if (stopped()) return true;