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
     
    (package private) 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
    • CAS_VALUE

      private static final AtomicLongFieldUpdater<Striped64.Cell> CAS_VALUE
  • Constructor Details

    • Cell

      Cell(long x)
  • Method Details

    • cas

      final boolean cas(long cmp, long val)