Class Striped64.Cell

java.lang.Object
io.prometheus.client.Striped64.Cell
Enclosing class:
Striped64

static final class Striped64.Cell extends Object
Padded variant of AtomicLong supporting only raw accesses plus CAS. The value field is placed between pads, hoping that the JVM doesn't reorder them. JVM intrinsics note: It would be possible to use a release-only form of CAS here, if it were provided.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) long
     
    (package private) long
     
    (package private) long
     
    (package private) long
     
    (package private) long
     
    (package private) long
     
    (package private) long
     
    (package private) long
     
    (package private) long
     
    (package private) long
     
    (package private) long
     
    (package private) long
     
    (package private) long
     
    (package private) long
     
    private static final sun.misc.Unsafe
     
    (package private) long
     
    private static final long
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Cell(long x)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) final boolean
    cas(long cmp, long val)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • p0

      volatile long p0
    • p1

      volatile long p1
    • p2

      volatile long p2
    • p3

      volatile long p3
    • p4

      volatile long p4
    • p5

      volatile long p5
    • p6

      volatile long p6
    • value

      volatile long value
    • q0

      volatile long q0
    • q1

      volatile long q1
    • q2

      volatile long q2
    • q3

      volatile long q3
    • q4

      volatile long q4
    • q5

      volatile long q5
    • q6

      volatile long q6
    • UNSAFE

      private static final sun.misc.Unsafe UNSAFE
    • valueOffset

      private static final long valueOffset
  • Constructor Details

    • Cell

      Cell(long x)
  • Method Details

    • cas

      final boolean cas(long cmp, long val)