comparison src/share/vm/prims/unsafe.cpp @ 7482:989155e2d07a

Merge with hs25-b15.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Wed, 16 Jan 2013 01:34:24 +0100
parents 1e41b0bc58a0
children db9981fd3124 96a337d307bd
comparison
equal deleted inserted replaced
7381:6761a8f854a4 7482:989155e2d07a
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