.class final Lcom/google/common/cache/Striped64$Cell; .super Ljava/lang/Object; .source "Striped64.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/google/common/cache/Striped64; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "Cell" .end annotation # static fields .field private static final UNSAFE:Lsun/misc/Unsafe; .field private static final valueOffset:J # instance fields .field public volatile p0:J .field public volatile p1:J .field public volatile p2:J .field public volatile p3:J .field public volatile p4:J .field public volatile p5:J .field public volatile p6:J .field public volatile q0:J .field public volatile q1:J .field public volatile q2:J .field public volatile q3:J .field public volatile q4:J .field public volatile q5:J .field public volatile q6:J .field public volatile value:J # direct methods .method public static constructor ()V .locals 3 .line 1 :try_start_0 invoke-static {}, Lcom/google/common/cache/Striped64;->access$000()Lsun/misc/Unsafe; move-result-object v0 sput-object v0, Lcom/google/common/cache/Striped64$Cell;->UNSAFE:Lsun/misc/Unsafe; .line 2 const-class v1, Lcom/google/common/cache/Striped64$Cell; const-string v2, "value" .line 3 invoke-virtual {v1, v2}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field; move-result-object v1 invoke-virtual {v0, v1}, Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J move-result-wide v0 sput-wide v0, Lcom/google/common/cache/Striped64$Cell;->valueOffset:J :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 return-void :catch_0 move-exception v0 .line 4 new-instance v1, Ljava/lang/Error; invoke-direct {v1, v0}, Ljava/lang/Error;->(Ljava/lang/Throwable;)V throw v1 .end method .method public constructor (J)V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V .line 2 iput-wide p1, p0, Lcom/google/common/cache/Striped64$Cell;->value:J return-void .end method # virtual methods .method public final cas(JJ)Z .locals 8 .line 1 sget-object v0, Lcom/google/common/cache/Striped64$Cell;->UNSAFE:Lsun/misc/Unsafe; sget-wide v2, Lcom/google/common/cache/Striped64$Cell;->valueOffset:J move-object v1, p0 move-wide v4, p1 move-wide v6, p3 invoke-virtual/range {v0 .. v7}, Lsun/misc/Unsafe;->compareAndSwapLong(Ljava/lang/Object;JJJ)Z move-result p1 return p1 .end method