Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8080588

VarHandles development

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Fixed
    • Icon: P3 P3
    • 9
    • 9
    • core-libs
    • None

      Overall issue for the design, implementation and test of VarHandles for JEP 193: Enhanced Volatiles.

      The implementation is integrated into the jdk9/dev repository.

      Any follow on work may, before integration into jdk9/dev, occur in the JDK 9 sandbox with the branch:

      $ hg clone http://hg.openjdk.java.net/jdk9/sandbox sandbox
      $ cd sandbox/
      $ sh ./get_source.sh
      $ sh ./common/bin/hgforest.sh up -r JEP-193-VarHandles-branch
      $ sh ./configure
      $ make images

      http://cr.openjdk.java.net/~psandoz/jdk9/varhandles/specdiff/overview-summary.html

        1.
        VarHandles for instance fields Sub-task Resolved Paul Sandoz  
        2.
        VarHandles for static fields Sub-task Resolved Paul Sandoz  
        3.
        VarHandles for arrays Sub-task Resolved Paul Sandoz  
        4.
        VarHandles for ByteBuffers Sub-task Resolved Paul Sandoz  
        5.
        VarHandles for array views Sub-task Resolved Paul Sandoz  
        6.
        VarHandles API specification Sub-task Resolved Paul Sandoz  
        7.
        VarHandles unit tests Sub-task Resolved Paul Sandoz  
        8.
        VarHandles jcstress tests Sub-task Resolved Frank Yuan (Inactive)  
        9.
        Unsafe.getAcquire* and VarHandles.getAcquire Sub-task Resolved Aleksey Shipilev  
        10.
        MethodType[] VarHandle.types wastes memory Sub-task Resolved Paul Sandoz  
        11.
        Replace obj.getClass with Objects.requireNonNull Sub-task Resolved Aleksey Shipilev  
        12.
        C1 trouble in VarHandle.get tests Sub-task Resolved Aleksey Shipilev  
        13.
        C1 trouble in VarHandle.getObject tests Sub-task Resolved Aleksey Shipilev  
        14.
        Unsafe.setRelease/putOrdered* for all types Sub-task Resolved Aleksey Shipilev  
        15.
        VarHandle access methods should be marked with @HotspotIntrinsicCandidate Sub-task Resolved Aleksey Shipilev  
        16.
        Unsafe intrinsics overhaul for VarHandle.{getAcquire|setRelease} Sub-task Resolved Aleksey Shipilev  
        17.
        Introduce VH.{get|set}Relaxed, and rewire VH.{get|set} to use the default field access rules Sub-task Resolved Aleksey Shipilev  
        18.
        VH.{set|get}{Acquire|Release} for raw memory Sub-task Closed Aleksey Shipilev  
        19.
        Add weak CAS, and acquire/release forms of CAS Sub-task Closed Aleksey Shipilev  
        20.
        C1 support for Unsafe.{getAcquire|setRelease} Sub-task Closed Aleksey Shipilev  
        21.
        VH.(get|set)Opaque implementations Sub-task Resolved Aleksey Shipilev  
        22.
        Better C1 handling for VarHandles.(get|set)Opaque Sub-task Closed Aleksey Shipilev  
        23.
        Proper implementation for VarHandle.compareAndExchange{Volatile, Acquire, Release} Sub-task Closed Aleksey Shipilev  
        24.
        Intrinsics for VarHandle.compareAndExchange{Volatile, Acquire, Release} Sub-task Resolved Aleksey Shipilev  
        25.
        Reference.reachabilityFence Sub-task Resolved Paul Sandoz  
        26.
        Implement VarHandles/Unsafe intrinsics on POWER Sub-task Resolved Martin Doerr  
        27.
        Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles Sub-task Resolved Aleksey Shipilev  
        28.
        ByteBuffer API and implementation enhancements for VarHandles Sub-task Resolved Paul Sandoz  
        29.
        Integrate VarHandles Sub-task Resolved Paul Sandoz  
        30.
        VarHandle factory-specific exceptions Sub-task Closed Paul Sandoz  
        31.
        VarHandle.AccessMode enum names should conform to code style Sub-task Resolved Paul Sandoz  
        32.
        Update VarHandle implementation to use @Stable arrays Sub-task Closed Paul Sandoz  
        33.
        VarHandle lookup access control tests Sub-task Closed Paul Sandoz  
        34.
        Result-boxed and result-less VarHandles are significantly penalized Sub-task Resolved Paul Sandoz  
        35.
        Use java.nio.ByteOrder instead of boolean value Sub-task Closed Paul Sandoz  
        36.
        Rename VarHandle.compareAndExchangeVolatile to VarHandle.compareAndExchange Sub-task Resolved Paul Sandoz  
        37.
        Add a VarHandle weakCompareAndSet with volatile semantics Sub-task Resolved Paul Sandoz  
        38.
        Exempt classes under java.util.concurrent from MH.Lookup restrictions Sub-task Closed Paul Sandoz  
        39.
        VarHandle implementation improvements Sub-task Resolved Paul Sandoz  
        40.
        [TESTBUG] VarHandles/Unsafe tests for weakCAS should allow spurious failures Sub-task Resolved Aleksey Shipilev  
        41.
        Unsafe.weakCompareAndSetVolatile entry points and intrinsics Sub-task Resolved Aleksey Shipilev  
        42.
        Unsafe.{get|set}Opaque should be single copy atomic Sub-task Resolved Aleksey Shipilev  
        43.
        MethodHandles.varHandleExactInvoker should perform exact checks Sub-task Resolved Paul Sandoz  
        44.
        Tests for invokeExact of handles produced from MethodHandles.varHandleExactInvoker Sub-task Closed Paul Sandoz  
        45.
        Hook up Unsafe.weakCompareAndSetVolatile to VarHandles Sub-task Resolved Aleksey Shipilev  
        46.
        VarHandles/Unsafe should support sub-word atomic ops Sub-task Resolved Aleksey Shipilev  
        47.
        VarHandle float/double field/array access should support CAS/set/add atomics Sub-task Resolved Paul Sandoz 2016-06-30
        48.
        VarHandles should provide access bitwise atomics Sub-task Resolved Paul Sandoz  
        49.
        Remove VarHandle.addAndGet Sub-task Resolved Paul Sandoz  
        50.
        Add acquire/release variants for getAndSet and getAndAdd Sub-task Resolved Paul Sandoz  
        51.
        Rename weakCompareAndSetVolatile to weakCompareAndSet Sub-task Resolved Paul Sandoz  

            psandoz Paul Sandoz
            psandoz Paul Sandoz
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: