[Graal] implement missing Unsafe intrinsics

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Duplicate
    • Priority: P4
    • 11
    • Affects Version/s: 10, 11
    • Component/s: hotspot

         // should be easy to implement as we already have an implementation for int and long
        "jdk/internal/misc/Unsafe.getAndAddByte(Ljava/lang/Object;JB)B",
        "jdk/internal/misc/Unsafe.getAndAddShort(Ljava/lang/Object;JS)S",

        // should be easy to implement as we already have an implementation for int, long, and Object
        "jdk/internal/misc/Unsafe.getAndSetByte(Ljava/lang/Object;JB)B",
        "jdk/internal/misc/Unsafe.getAndSetShort(Ljava/lang/Object;JS)S",
        "jdk/internal/misc/Unsafe.compareAndSetByte(Ljava/lang/Object;JBB)Z",
        "jdk/internal/misc/Unsafe.compareAndSetShort(Ljava/lang/Object;JSS)Z",
                              
        // should be easy to implement as it seems to match the logic that is already
        // implemented in ValueCompareAndSwapNode. On the high-level, we would need
        // something similar to UnsafeCompareAndSwapNode but with a different result type
        "jdk/internal/misc/Unsafe.compareAndExchangeByte(Ljava/lang/Object;JBB)B",
        "jdk/internal/misc/Unsafe.compareAndExchangeInt(Ljava/lang/Object;JII)I",
        "jdk/internal/misc/Unsafe.compareAndExchangeLong(Ljava/lang/Object;JJJ)J",
        "jdk/internal/misc/Unsafe.compareAndExchangeObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;",
        "jdk/internal/misc/Unsafe.compareAndExchangeShort(Ljava/lang/Object;JSS)S",

            Assignee:
            Dean Long
            Reporter:
            Dean Long
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: