hotspot/src/share/vm/prims/unsafe.cpp
changeset 14832 61b025224ac9
parent 14588 8ec26d2d9339
child 15482 470d0b0c09f1
equal deleted inserted replaced
14831:84828ee2a91c 14832:61b025224ac9
   466     }
   466     }
   467   }
   467   }
   468 #endif
   468 #endif
   469 UNSAFE_END
   469 UNSAFE_END
   470 
   470 
       
   471 UNSAFE_ENTRY(void, Unsafe_LoadFence(JNIEnv *env, jobject unsafe))
       
   472   UnsafeWrapper("Unsafe_LoadFence");
       
   473   OrderAccess::acquire();
       
   474 UNSAFE_END
       
   475 
       
   476 UNSAFE_ENTRY(void, Unsafe_StoreFence(JNIEnv *env, jobject unsafe))
       
   477   UnsafeWrapper("Unsafe_StoreFence");
       
   478   OrderAccess::release();
       
   479 UNSAFE_END
       
   480 
       
   481 UNSAFE_ENTRY(void, Unsafe_FullFence(JNIEnv *env, jobject unsafe))
       
   482   UnsafeWrapper("Unsafe_FullFence");
       
   483   OrderAccess::fence();
       
   484 UNSAFE_END
       
   485 
   471 ////// Data in the C heap.
   486 ////// Data in the C heap.
   472 
   487 
   473 // Note:  These do not throw NullPointerException for bad pointers.
   488 // Note:  These do not throw NullPointerException for bad pointers.
   474 // They just crash.  Only a oop base pointer can generate a NullPointerException.
   489 // They just crash.  Only a oop base pointer can generate a NullPointerException.
   475 //
   490 //
  1548     {CC"compareAndSwapInt",  CC"("OBJ"J""I""I"")Z",      FN_PTR(Unsafe_CompareAndSwapInt)},
  1563     {CC"compareAndSwapInt",  CC"("OBJ"J""I""I"")Z",      FN_PTR(Unsafe_CompareAndSwapInt)},
  1549     {CC"compareAndSwapLong", CC"("OBJ"J""J""J"")Z",      FN_PTR(Unsafe_CompareAndSwapLong)},
  1564     {CC"compareAndSwapLong", CC"("OBJ"J""J""J"")Z",      FN_PTR(Unsafe_CompareAndSwapLong)},
  1550     {CC"putOrderedObject",   CC"("OBJ"J"OBJ")V",         FN_PTR(Unsafe_SetOrderedObject)},
  1565     {CC"putOrderedObject",   CC"("OBJ"J"OBJ")V",         FN_PTR(Unsafe_SetOrderedObject)},
  1551     {CC"putOrderedInt",      CC"("OBJ"JI)V",             FN_PTR(Unsafe_SetOrderedInt)},
  1566     {CC"putOrderedInt",      CC"("OBJ"JI)V",             FN_PTR(Unsafe_SetOrderedInt)},
  1552     {CC"putOrderedLong",     CC"("OBJ"JJ)V",             FN_PTR(Unsafe_SetOrderedLong)},
  1567     {CC"putOrderedLong",     CC"("OBJ"JJ)V",             FN_PTR(Unsafe_SetOrderedLong)},
       
  1568     {CC"loadFence",          CC"()V",                    FN_PTR(Unsafe_LoadFence)},
       
  1569     {CC"storeFence",         CC"()V",                    FN_PTR(Unsafe_StoreFence)},
       
  1570     {CC"fullFence",          CC"()V",                    FN_PTR(Unsafe_FullFence)},
  1553     {CC"park",               CC"(ZJ)V",                  FN_PTR(Unsafe_Park)},
  1571     {CC"park",               CC"(ZJ)V",                  FN_PTR(Unsafe_Park)},
  1554     {CC"unpark",             CC"("OBJ")V",               FN_PTR(Unsafe_Unpark)}
  1572     {CC"unpark",             CC"("OBJ")V",               FN_PTR(Unsafe_Unpark)}
  1555 
  1573 
  1556 //    {CC"getLoadAverage",     CC"([DI)I",                 FN_PTR(Unsafe_Loadavg)},
  1574 //    {CC"getLoadAverage",     CC"([DI)I",                 FN_PTR(Unsafe_Loadavg)},
  1557 
  1575