Mercurial > hg > truffle
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 |