.class public final Landroidx/collection/MutableLongObjectMap; .super Landroidx/collection/LongObjectMap; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/Signature; value = { "", "Landroidx/collection/LongObjectMap<", "TV;>;" } .end annotation .annotation build Lkotlin/jvm/internal/SourceDebugExtension; value = { "SMAP\nLongObjectMap.kt\nKotlin\n*S Kotlin\n*F\n+ 1 LongObjectMap.kt\nandroidx/collection/MutableLongObjectMap\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 3 ScatterMap.kt\nandroidx/collection/ScatterMapKt\n+ 4 LongObjectMap.kt\nandroidx/collection/LongObjectMap\n+ 5 LongSet.kt\nandroidx/collection/LongSetKt\n+ 6 LongSet.kt\nandroidx/collection/LongSet\n+ 7 LongList.kt\nandroidx/collection/LongList\n*L\n1#1,1034:1\n820#1,2:1187\n820#1,2:1201\n1024#1,2:1204\n1028#1,5:1212\n1024#1,2:1243\n1028#1,5:1251\n1024#1,2:1268\n1028#1,5:1276\n1024#1,2:1282\n1028#1,5:1290\n1#2:1035\n1672#3,6:1036\n1826#3:1052\n1688#3:1056\n1619#3:1073\n1615#3:1076\n1795#3,3:1081\n1809#3,3:1085\n1733#3:1089\n1721#3:1091\n1715#3:1092\n1728#3:1097\n1818#3:1099\n1619#3:1113\n1615#3:1116\n1795#3,3:1121\n1809#3,3:1125\n1733#3:1129\n1721#3:1131\n1715#3:1132\n1728#3:1137\n1818#3:1139\n1826#3:1154\n1688#3:1158\n1826#3:1179\n1688#3:1183\n1672#3,6:1206\n1672#3,6:1217\n1615#3:1226\n1619#3:1227\n1795#3,3:1228\n1809#3,3:1231\n1733#3:1234\n1721#3:1235\n1715#3:1236\n1728#3:1237\n1818#3:1238\n1682#3:1239\n1661#3:1240\n1680#3:1241\n1661#3:1242\n1672#3,6:1245\n1795#3,3:1256\n1826#3:1259\n1715#3:1260\n1685#3:1261\n1661#3:1262\n1615#3:1266\n1619#3:1267\n1672#3,6:1270\n1661#3:1281\n1672#3,6:1284\n1672#3,6:1295\n1672#3,6:1301\n382#4,4:1042\n354#4,6:1046\n364#4,3:1053\n367#4,2:1057\n387#4,2:1059\n370#4,6:1061\n389#4:1067\n619#4:1068\n620#4:1072\n622#4,2:1074\n624#4,4:1077\n628#4:1084\n629#4:1088\n630#4:1090\n631#4,4:1093\n637#4:1098\n638#4,8:1100\n619#4:1108\n620#4:1112\n622#4,2:1114\n624#4,4:1117\n628#4:1124\n629#4:1128\n630#4:1130\n631#4,4:1133\n637#4:1138\n638#4,8:1140\n354#4,6:1148\n364#4,3:1155\n367#4,9:1159\n849#5,3:1069\n849#5,3:1109\n849#5,3:1223\n849#5,3:1263\n262#6,4:1168\n232#6,7:1172\n243#6,3:1180\n246#6,2:1184\n266#6:1186\n267#6:1189\n249#6,6:1190\n268#6:1196\n253#7,4:1197\n258#7:1203\n*S KotlinDebug\n*F\n+ 1 LongObjectMap.kt\nandroidx/collection/MutableLongObjectMap\n*L\n837#1:1187,2\n846#1:1201,2\n856#1:1204,2\n856#1:1212,5\n920#1:1243,2\n920#1:1251,5\n994#1:1268,2\n994#1:1276,5\n1010#1:1282,2\n1010#1:1290,5\n713#1:1036,6\n766#1:1052\n766#1:1056\n782#1:1073\n782#1:1076\n782#1:1081,3\n782#1:1085,3\n782#1:1089\n782#1:1091\n782#1:1092\n782#1:1097\n782#1:1099\n794#1:1113\n794#1:1116\n794#1:1121,3\n794#1:1125,3\n794#1:1129\n794#1:1131\n794#1:1132\n794#1:1137\n794#1:1139\n808#1:1154\n808#1:1158\n836#1:1179\n836#1:1183\n856#1:1206,6\n871#1:1217,6\n886#1:1226\n887#1:1227\n894#1:1228,3\n895#1:1231,3\n896#1:1234\n897#1:1235\n897#1:1236\n901#1:1237\n904#1:1238\n913#1:1239\n913#1:1240\n919#1:1241\n919#1:1242\n920#1:1245,6\n935#1:1256,3\n936#1:1259\n938#1:1260\n989#1:1261\n989#1:1262\n992#1:1266\n994#1:1267\n994#1:1270,6\n1008#1:1281\n1010#1:1284,6\n1025#1:1295,6\n1031#1:1301,6\n766#1:1042,4\n766#1:1046,6\n766#1:1053,3\n766#1:1057,2\n766#1:1059,2\n766#1:1061,6\n766#1:1067\n782#1:1068\n782#1:1072\n782#1:1074,2\n782#1:1077,4\n782#1:1084\n782#1:1088\n782#1:1090\n782#1:1093,4\n782#1:1098\n782#1:1100,8\n794#1:1108\n794#1:1112\n794#1:1114,2\n794#1:1117,4\n794#1:1124\n794#1:1128\n794#1:1130\n794#1:1133,4\n794#1:1138\n794#1:1140,8\n808#1:1148,6\n808#1:1155,3\n808#1:1159,9\n782#1:1069,3\n794#1:1109,3\n885#1:1223,3\n991#1:1263,3\n836#1:1168,4\n836#1:1172,7\n836#1:1180,3\n836#1:1184,2\n836#1:1186\n836#1:1189\n836#1:1190,6\n836#1:1196\n845#1:1197,4\n845#1:1203\n*E\n" } .end annotation # instance fields .field private growthLimit:I # direct methods .method public constructor ()V .locals 3 .line 0 const/4 v0, 0x1 const/4 v1, 0x0 const/4 v2, 0x0 invoke-direct {p0, v2, v0, v1}, Landroidx/collection/MutableLongObjectMap;->(IILkotlin/jvm/internal/DefaultConstructorMarker;)V return-void .end method .method public constructor (I)V .locals 1 const/4 v0, 0x0 .line 680 invoke-direct {p0, v0}, Landroidx/collection/LongObjectMap;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V if-ltz p1, :cond_0 .line 686 invoke-static {p1}, Landroidx/collection/ScatterMapKt;->unloadedCapacity(I)I move-result p1 invoke-direct {p0, p1}, Landroidx/collection/MutableLongObjectMap;->initializeStorage(I)V return-void .line 685 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "Capacity must be a positive value." invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public synthetic constructor (IILkotlin/jvm/internal/DefaultConstructorMarker;)V .locals 0 and-int/lit8 p2, p2, 0x1 if-eqz p2, :cond_0 const/4 p1, 0x6 .line 678 :cond_0 invoke-direct {p0, p1}, Landroidx/collection/MutableLongObjectMap;->(I)V return-void .end method .method private final adjustStorage()V .locals 6 iget v0, p0, Landroidx/collection/LongObjectMap;->_capacity:I const/16 v1, 0x8 if-le v0, v1, :cond_0 iget v0, p0, Landroidx/collection/LongObjectMap;->_size:I int-to-long v0, v0 .line 970 invoke-static {v0, v1}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v0 const-wide/16 v2, 0x20 mul-long/2addr v0, v2 invoke-static {v0, v1}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v0 iget v2, p0, Landroidx/collection/LongObjectMap;->_capacity:I int-to-long v2, v2 invoke-static {v2, v3}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v2 const-wide/16 v4, 0x19 mul-long/2addr v2, v4 invoke-static {v2, v3}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v2 invoke-static {v0, v1, v2, v3}, Ljava/lang/Long;->compareUnsigned(JJ)I move-result v0 if-gtz v0, :cond_0 .line 971 invoke-direct {p0}, Landroidx/collection/MutableLongObjectMap;->removeDeletedMarkers()V goto :goto_0 :cond_0 iget v0, p0, Landroidx/collection/LongObjectMap;->_capacity:I .line 973 invoke-static {v0}, Landroidx/collection/ScatterMapKt;->nextCapacity(I)I move-result v0 invoke-direct {p0, v0}, Landroidx/collection/MutableLongObjectMap;->resizeStorage(I)V :goto_0 return-void .end method .method private final findAbsoluteInsertIndex(J)I .locals 21 move-object/from16 v0, p0 .line 849 invoke-static/range {p1 .. p2}, Ljava/lang/Long;->hashCode(J)I move-result v1 const v2, -0x3361d2af # -8.293031E7f mul-int/2addr v1, v2 shl-int/lit8 v2, v1, 0x10 xor-int/2addr v1, v2 ushr-int/lit8 v2, v1, 0x7 and-int/lit8 v1, v1, 0x7f iget v3, v0, Landroidx/collection/LongObjectMap;->_capacity:I and-int v4, v2, v3 const/4 v6, 0x0 :goto_0 iget-object v7, v0, Landroidx/collection/LongObjectMap;->metadata:[J shr-int/lit8 v8, v4, 0x3 and-int/lit8 v9, v4, 0x7 shl-int/lit8 v9, v9, 0x3 .line 1797 aget-wide v10, v7, v8 ushr-long/2addr v10, v9 const/4 v12, 0x1 add-int/2addr v8, v12 aget-wide v13, v7, v8 rsub-int/lit8 v7, v9, 0x40 shl-long v7, v13, v7 int-to-long v13, v9 neg-long v13, v13 const/16 v9, 0x3f shr-long/2addr v13, v9 and-long/2addr v7, v13 or-long/2addr v7, v10 int-to-long v9, v1 const-wide v13, 0x101010101010101L mul-long v15, v9, v13 move/from16 v17, v6 xor-long v5, v7, v15 sub-long v13, v5, v13 not-long v5, v5 and-long/2addr v5, v13 const-wide v13, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v5, v13 :goto_1 const-wide/16 v15, 0x0 cmp-long v18, v5, v15 if-eqz v18, :cond_1 .line 1715 invoke-static {v5, v6}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v15 shr-int/lit8 v15, v15, 0x3 add-int/2addr v15, v4 and-int/2addr v15, v3 iget-object v11, v0, Landroidx/collection/LongObjectMap;->keys:[J .line 898 aget-wide v19, v11, v15 cmp-long v11, v19, p1 if-nez v11, :cond_0 return v15 :cond_0 const-wide/16 v15, 0x1 sub-long v15, v5, v15 and-long/2addr v5, v15 goto :goto_1 :cond_1 not-long v5, v7 const/4 v11, 0x6 shl-long/2addr v5, v11 and-long/2addr v5, v7 and-long/2addr v5, v13 cmp-long v5, v5, v15 if-eqz v5, :cond_5 .line 912 invoke-direct {v0, v2}, Landroidx/collection/MutableLongObjectMap;->findFirstAvailableSlot(I)I move-result v1 iget v3, v0, Landroidx/collection/MutableLongObjectMap;->growthLimit:I const-wide/16 v4, 0xff if-nez v3, :cond_3 iget-object v3, v0, Landroidx/collection/LongObjectMap;->metadata:[J shr-int/lit8 v6, v1, 0x3 .line 1661 aget-wide v6, v3, v6 and-int/lit8 v3, v1, 0x7 shl-int/lit8 v3, v3, 0x3 shr-long/2addr v6, v3 and-long/2addr v6, v4 const-wide/16 v13, 0xfe cmp-long v3, v6, v13 if-nez v3, :cond_2 goto :goto_2 .line 914 :cond_2 invoke-direct/range {p0 .. p0}, Landroidx/collection/MutableLongObjectMap;->adjustStorage()V .line 915 invoke-direct {v0, v2}, Landroidx/collection/MutableLongObjectMap;->findFirstAvailableSlot(I)I move-result v1 :cond_3 :goto_2 iget v2, v0, Landroidx/collection/LongObjectMap;->_size:I add-int/2addr v2, v12 iput v2, v0, Landroidx/collection/LongObjectMap;->_size:I iget v2, v0, Landroidx/collection/MutableLongObjectMap;->growthLimit:I iget-object v3, v0, Landroidx/collection/LongObjectMap;->metadata:[J shr-int/lit8 v6, v1, 0x3 .line 1661 aget-wide v7, v3, v6 and-int/lit8 v11, v1, 0x7 shl-int/lit8 v11, v11, 0x3 shr-long v13, v7, v11 and-long/2addr v13, v4 const-wide/16 v15, 0x80 cmp-long v13, v13, v15 if-nez v13, :cond_4 move/from16 v18, v12 goto :goto_3 :cond_4 const/16 v18, 0x0 :goto_3 sub-int v2, v2, v18 iput v2, v0, Landroidx/collection/MutableLongObjectMap;->growthLimit:I shl-long v12, v4, v11 not-long v12, v12 and-long/2addr v7, v12 shl-long v11, v9, v11 or-long/2addr v7, v11 .line 1676 aput-wide v7, v3, v6 iget v2, v0, Landroidx/collection/LongObjectMap;->_capacity:I add-int/lit8 v6, v1, -0x7 and-int/2addr v6, v2 and-int/lit8 v2, v2, 0x7 add-int/2addr v6, v2 shr-int/lit8 v2, v6, 0x3 and-int/lit8 v6, v6, 0x7 shl-int/lit8 v6, v6, 0x3 aget-wide v7, v3, v2 shl-long/2addr v4, v6 not-long v4, v4 and-long/2addr v4, v7 shl-long v6, v9, v6 or-long/2addr v4, v6 aput-wide v4, v3, v2 return v1 :cond_5 add-int/lit8 v6, v17, 0x8 add-int/2addr v4, v6 and-int/2addr v4, v3 goto/16 :goto_0 .end method .method private final findFirstAvailableSlot(I)I .locals 9 iget v0, p0, Landroidx/collection/LongObjectMap;->_capacity:I and-int/2addr p1, v0 const/4 v1, 0x0 :goto_0 iget-object v2, p0, Landroidx/collection/LongObjectMap;->metadata:[J shr-int/lit8 v3, p1, 0x3 and-int/lit8 v4, p1, 0x7 shl-int/lit8 v4, v4, 0x3 .line 1797 aget-wide v5, v2, v3 ushr-long/2addr v5, v4 add-int/lit8 v3, v3, 0x1 aget-wide v7, v2, v3 rsub-int/lit8 v2, v4, 0x40 shl-long v2, v7, v2 int-to-long v7, v4 neg-long v7, v7 const/16 v4, 0x3f shr-long/2addr v7, v4 and-long/2addr v2, v7 or-long/2addr v2, v5 not-long v4, v2 const/4 v6, 0x7 shl-long/2addr v4, v6 and-long/2addr v2, v4 const-wide v4, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v2, v4 const-wide/16 v4, 0x0 cmp-long v4, v2, v4 if-eqz v4, :cond_0 .line 1715 invoke-static {v2, v3}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v1 shr-int/lit8 v1, v1, 0x3 add-int/2addr p1, v1 and-int/2addr p1, v0 return p1 :cond_0 add-int/lit8 v1, v1, 0x8 add-int/2addr p1, v1 and-int/2addr p1, v0 goto :goto_0 .end method .method private final initializeGrowth()V .locals 2 .line 718 invoke-virtual {p0}, Landroidx/collection/LongObjectMap;->getCapacity()I move-result v0 invoke-static {v0}, Landroidx/collection/ScatterMapKt;->loadedCapacity(I)I move-result v0 iget v1, p0, Landroidx/collection/LongObjectMap;->_size:I sub-int/2addr v0, v1 iput v0, p0, Landroidx/collection/MutableLongObjectMap;->growthLimit:I return-void .end method .method private final initializeMetadata(I)V .locals 8 if-nez p1, :cond_0 .line 705 sget-object v0, Landroidx/collection/ScatterMapKt;->EmptyGroup:[J goto :goto_0 :cond_0 add-int/lit8 v0, p1, 0xf and-int/lit8 v0, v0, -0x8 shr-int/lit8 v0, v0, 0x3 .line 709 new-array v0, v0, [J const-wide v2, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x6 const/4 v7, 0x0 move-object v1, v0 .line 710 invoke-static/range {v1 .. v7}, Lkotlin/collections/ArraysKt;->fill$default([JJIIILjava/lang/Object;)V :goto_0 iput-object v0, p0, Landroidx/collection/LongObjectMap;->metadata:[J shr-int/lit8 v1, p1, 0x3 and-int/lit8 p1, p1, 0x7 shl-int/lit8 p1, p1, 0x3 .line 1676 aget-wide v2, v0, v1 const-wide/16 v4, 0xff shl-long/2addr v4, p1 not-long v6, v4 and-long/2addr v2, v6 or-long/2addr v2, v4 aput-wide v2, v0, v1 .line 714 invoke-direct {p0}, Landroidx/collection/MutableLongObjectMap;->initializeGrowth()V return-void .end method .method private final initializeStorage(I)V .locals 1 if-lez p1, :cond_0 const/4 v0, 0x7 .line 693 invoke-static {p1}, Landroidx/collection/ScatterMapKt;->normalizeCapacity(I)I move-result p1 invoke-static {v0, p1}, Ljava/lang/Math;->max(II)I move-result p1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 iput p1, p0, Landroidx/collection/LongObjectMap;->_capacity:I .line 698 invoke-direct {p0, p1}, Landroidx/collection/MutableLongObjectMap;->initializeMetadata(I)V .line 699 new-array v0, p1, [J iput-object v0, p0, Landroidx/collection/LongObjectMap;->keys:[J .line 700 new-array p1, p1, [Ljava/lang/Object; iput-object p1, p0, Landroidx/collection/LongObjectMap;->values:[Ljava/lang/Object; return-void .end method .method private final removeDeletedMarkers()V .locals 14 iget-object v0, p0, Landroidx/collection/LongObjectMap;->metadata:[J iget v1, p0, Landroidx/collection/LongObjectMap;->_capacity:I const/4 v2, 0x0 move v3, v2 :goto_0 if-ge v2, v1, :cond_1 shr-int/lit8 v4, v2, 0x3 .line 1661 aget-wide v5, v0, v4 and-int/lit8 v7, v2, 0x7 shl-int/lit8 v7, v7, 0x3 shr-long/2addr v5, v7 const-wide/16 v8, 0xff and-long/2addr v5, v8 const-wide/16 v10, 0xfe cmp-long v5, v5, v10 if-nez v5, :cond_0 iget-object v5, p0, Landroidx/collection/LongObjectMap;->metadata:[J .line 1676 aget-wide v10, v5, v4 shl-long v12, v8, v7 not-long v12, v12 and-long/2addr v10, v12 const-wide/16 v12, 0x80 shl-long v6, v12, v7 or-long/2addr v6, v10 aput-wide v6, v5, v4 iget v4, p0, Landroidx/collection/LongObjectMap;->_capacity:I add-int/lit8 v6, v2, -0x7 and-int/2addr v6, v4 and-int/lit8 v4, v4, 0x7 add-int/2addr v6, v4 shr-int/lit8 v4, v6, 0x3 and-int/lit8 v6, v6, 0x7 shl-int/lit8 v6, v6, 0x3 aget-wide v10, v5, v4 shl-long v7, v8, v6 not-long v7, v7 and-long/2addr v7, v10 shl-long v9, v12, v6 or-long v6, v7, v9 aput-wide v6, v5, v4 add-int/lit8 v3, v3, 0x1 :cond_0 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_1 iget v0, p0, Landroidx/collection/MutableLongObjectMap;->growthLimit:I add-int/2addr v0, v3 iput v0, p0, Landroidx/collection/MutableLongObjectMap;->growthLimit:I return-void .end method .method private final resizeStorage(I)V .locals 22 move-object/from16 v0, p0 iget-object v1, v0, Landroidx/collection/LongObjectMap;->metadata:[J iget-object v2, v0, Landroidx/collection/LongObjectMap;->keys:[J iget-object v3, v0, Landroidx/collection/LongObjectMap;->values:[Ljava/lang/Object; iget v4, v0, Landroidx/collection/LongObjectMap;->_capacity:I .line 983 invoke-direct/range {p0 .. p1}, Landroidx/collection/MutableLongObjectMap;->initializeStorage(I)V iget-object v5, v0, Landroidx/collection/LongObjectMap;->keys:[J iget-object v6, v0, Landroidx/collection/LongObjectMap;->values:[Ljava/lang/Object; const/4 v7, 0x0 :goto_0 if-ge v7, v4, :cond_1 shr-int/lit8 v8, v7, 0x3 .line 1661 aget-wide v8, v1, v8 and-int/lit8 v10, v7, 0x7 shl-int/lit8 v10, v10, 0x3 shr-long/2addr v8, v10 const-wide/16 v10, 0xff and-long/2addr v8, v10 const-wide/16 v12, 0x80 cmp-long v8, v8, v12 if-gez v8, :cond_0 .line 990 aget-wide v8, v2, v7 .line 849 invoke-static {v8, v9}, Ljava/lang/Long;->hashCode(J)I move-result v12 const v13, -0x3361d2af # -8.293031E7f mul-int/2addr v12, v13 shl-int/lit8 v13, v12, 0x10 xor-int/2addr v12, v13 ushr-int/lit8 v13, v12, 0x7 .line 992 invoke-direct {v0, v13}, Landroidx/collection/MutableLongObjectMap;->findFirstAvailableSlot(I)I move-result v13 and-int/lit8 v12, v12, 0x7f int-to-long v14, v12 iget-object v12, v0, Landroidx/collection/LongObjectMap;->metadata:[J shr-int/lit8 v16, v13, 0x3 and-int/lit8 v17, v13, 0x7 shl-int/lit8 v17, v17, 0x3 .line 1676 aget-wide v18, v12, v16 move-object/from16 v20, v1 move-object/from16 v21, v2 shl-long v1, v10, v17 not-long v1, v1 and-long v1, v18, v1 shl-long v17, v14, v17 or-long v1, v1, v17 aput-wide v1, v12, v16 iget v1, v0, Landroidx/collection/LongObjectMap;->_capacity:I add-int/lit8 v2, v13, -0x7 and-int/2addr v2, v1 and-int/lit8 v1, v1, 0x7 add-int/2addr v2, v1 shr-int/lit8 v1, v2, 0x3 and-int/lit8 v2, v2, 0x7 shl-int/lit8 v2, v2, 0x3 aget-wide v16, v12, v1 shl-long/2addr v10, v2 not-long v10, v10 and-long v10, v16, v10 shl-long/2addr v14, v2 or-long/2addr v10, v14 aput-wide v10, v12, v1 .line 995 aput-wide v8, v5, v13 .line 996 aget-object v1, v3, v7 aput-object v1, v6, v13 goto :goto_1 :cond_0 move-object/from16 v20, v1 move-object/from16 v21, v2 :goto_1 add-int/lit8 v7, v7, 0x1 move-object/from16 v1, v20 move-object/from16 v2, v21 goto :goto_0 :cond_1 return-void .end method .method private final writeMetadata(IJ)V .locals 9 iget-object v0, p0, Landroidx/collection/LongObjectMap;->metadata:[J shr-int/lit8 v1, p1, 0x3 and-int/lit8 v2, p1, 0x7 shl-int/lit8 v2, v2, 0x3 .line 1676 aget-wide v3, v0, v1 const-wide/16 v5, 0xff shl-long v7, v5, v2 not-long v7, v7 and-long/2addr v3, v7 shl-long v7, p2, v2 or-long v2, v3, v7 aput-wide v2, v0, v1 iget v1, p0, Landroidx/collection/LongObjectMap;->_capacity:I add-int/lit8 p1, p1, -0x7 and-int/2addr p1, v1 and-int/lit8 v1, v1, 0x7 add-int/2addr p1, v1 shr-int/lit8 v1, p1, 0x3 and-int/lit8 p1, p1, 0x7 shl-int/lit8 p1, p1, 0x3 .line 1676 aget-wide v2, v0, v1 shl-long v4, v5, p1 not-long v4, v4 and-long/2addr v2, v4 shl-long p1, p2, p1 or-long/2addr p1, v2 aput-wide p1, v0, v1 return-void .end method # virtual methods .method public final clear()V .locals 10 const/4 v0, 0x0 iput v0, p0, Landroidx/collection/LongObjectMap;->_size:I iget-object v1, p0, Landroidx/collection/LongObjectMap;->metadata:[J .line 869 sget-object v2, Landroidx/collection/ScatterMapKt;->EmptyGroup:[J if-eq v1, v2, :cond_0 const-wide v2, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x6 const/4 v7, 0x0 .line 870 invoke-static/range {v1 .. v7}, Lkotlin/collections/ArraysKt;->fill$default([JJIIILjava/lang/Object;)V iget-object v1, p0, Landroidx/collection/LongObjectMap;->metadata:[J iget v2, p0, Landroidx/collection/LongObjectMap;->_capacity:I shr-int/lit8 v3, v2, 0x3 and-int/lit8 v2, v2, 0x7 shl-int/lit8 v2, v2, 0x3 .line 1676 aget-wide v4, v1, v3 const-wide/16 v6, 0xff shl-long/2addr v6, v2 not-long v8, v6 and-long/2addr v4, v8 or-long/2addr v4, v6 aput-wide v4, v1, v3 :cond_0 iget-object v1, p0, Landroidx/collection/LongObjectMap;->values:[Ljava/lang/Object; const/4 v2, 0x0 iget v3, p0, Landroidx/collection/LongObjectMap;->_capacity:I .line 873 invoke-static {v1, v2, v0, v3}, Lkotlin/collections/ArraysKt;->fill([Ljava/lang/Object;Ljava/lang/Object;II)V .line 874 invoke-direct {p0}, Landroidx/collection/MutableLongObjectMap;->initializeGrowth()V return-void .end method .method public final getOrPut(JLkotlin/jvm/functions/Function0;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(J", "Lkotlin/jvm/functions/Function0;", ")TV;" } .end annotation const-string v0, "defaultValue" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 728 invoke-virtual {p0, p1, p2}, Landroidx/collection/LongObjectMap;->get(J)Ljava/lang/Object; move-result-object v0 if-nez v0, :cond_0 invoke-interface {p3}, Lkotlin/jvm/functions/Function0;->invoke()Ljava/lang/Object; move-result-object v0 invoke-virtual {p0, p1, p2, v0}, Landroidx/collection/MutableLongObjectMap;->set(JLjava/lang/Object;)V :cond_0 return-object v0 .end method .method public final minusAssign(J)V .locals 0 .line 820 invoke-virtual {p0, p1, p2}, Landroidx/collection/MutableLongObjectMap;->remove(J)Ljava/lang/Object; return-void .end method .method public final minusAssign(Landroidx/collection/LongList;)V .locals 4 const-string v0, "keys" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 254 iget-object v0, p1, Landroidx/collection/LongList;->content:[J .line 255 iget p1, p1, Landroidx/collection/LongList;->_size:I const/4 v1, 0x0 :goto_0 if-ge v1, p1, :cond_0 .line 256 aget-wide v2, v0, v1 .line 820 invoke-virtual {p0, v2, v3}, Landroidx/collection/MutableLongObjectMap;->remove(J)Ljava/lang/Object; add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public final minusAssign(Landroidx/collection/LongSet;)V .locals 13 const-string v0, "keys" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 263 iget-object v0, p1, Landroidx/collection/LongSet;->elements:[J .line 233 iget-object p1, p1, Landroidx/collection/LongSet;->metadata:[J .line 234 array-length v1, p1 add-int/lit8 v1, v1, -0x2 if-ltz v1, :cond_3 const/4 v2, 0x0 move v3, v2 .line 237 :goto_0 aget-wide v4, p1, v3 not-long v6, v4 const/4 v8, 0x7 shl-long/2addr v6, v8 and-long/2addr v6, v4 const-wide v8, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v6, v8 cmp-long v6, v6, v8 if-eqz v6, :cond_2 sub-int v6, v3, v1 not-int v6, v6 ushr-int/lit8 v6, v6, 0x1f const/16 v7, 0x8 rsub-int/lit8 v6, v6, 0x8 move v8, v2 :goto_1 if-ge v8, v6, :cond_1 const-wide/16 v9, 0xff and-long/2addr v9, v4 const-wide/16 v11, 0x80 cmp-long v9, v9, v11 if-gez v9, :cond_0 shl-int/lit8 v9, v3, 0x3 add-int/2addr v9, v8 .line 266 aget-wide v9, v0, v9 .line 820 invoke-virtual {p0, v9, v10}, Landroidx/collection/MutableLongObjectMap;->remove(J)Ljava/lang/Object; :cond_0 shr-long/2addr v4, v7 add-int/lit8 v8, v8, 0x1 goto :goto_1 :cond_1 if-ne v6, v7, :cond_3 :cond_2 if-eq v3, v1, :cond_3 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_3 return-void .end method .method public final minusAssign([J)V .locals 4 const-string v0, "keys" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 827 array-length v0, p1 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 aget-wide v2, p1, v1 .line 828 invoke-virtual {p0, v2, v3}, Landroidx/collection/MutableLongObjectMap;->remove(J)Ljava/lang/Object; add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public final plusAssign(Landroidx/collection/LongObjectMap;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/collection/LongObjectMap<", "TV;>;)V" } .end annotation const-string v0, "from" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 774 invoke-virtual {p0, p1}, Landroidx/collection/MutableLongObjectMap;->putAll(Landroidx/collection/LongObjectMap;)V return-void .end method .method public final put(JLjava/lang/Object;)Ljava/lang/Object; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(JTV;)TV;" } .end annotation .line 753 invoke-direct {p0, p1, p2}, Landroidx/collection/MutableLongObjectMap;->findAbsoluteInsertIndex(J)I move-result v0 iget-object v1, p0, Landroidx/collection/LongObjectMap;->values:[Ljava/lang/Object; .line 754 aget-object v2, v1, v0 iget-object v3, p0, Landroidx/collection/LongObjectMap;->keys:[J .line 755 aput-wide p1, v3, v0 .line 756 aput-object p3, v1, v0 return-object v2 .end method .method public final putAll(Landroidx/collection/LongObjectMap;)V .locals 14 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/collection/LongObjectMap<", "TV;>;)V" } .end annotation const-string v0, "from" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 382 iget-object v0, p1, Landroidx/collection/LongObjectMap;->keys:[J .line 383 iget-object v1, p1, Landroidx/collection/LongObjectMap;->values:[Ljava/lang/Object; .line 354 iget-object p1, p1, Landroidx/collection/LongObjectMap;->metadata:[J .line 355 array-length v2, p1 add-int/lit8 v2, v2, -0x2 if-ltz v2, :cond_3 const/4 v3, 0x0 move v4, v3 .line 358 :goto_0 aget-wide v5, p1, v4 not-long v7, v5 const/4 v9, 0x7 shl-long/2addr v7, v9 and-long/2addr v7, v5 const-wide v9, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v7, v9 cmp-long v7, v7, v9 if-eqz v7, :cond_2 sub-int v7, v4, v2 not-int v7, v7 ushr-int/lit8 v7, v7, 0x1f const/16 v8, 0x8 rsub-int/lit8 v7, v7, 0x8 move v9, v3 :goto_1 if-ge v9, v7, :cond_1 const-wide/16 v10, 0xff and-long/2addr v10, v5 const-wide/16 v12, 0x80 cmp-long v10, v10, v12 if-gez v10, :cond_0 shl-int/lit8 v10, v4, 0x3 add-int/2addr v10, v9 .line 387 aget-wide v11, v0, v10 aget-object v10, v1, v10 .line 767 invoke-virtual {p0, v11, v12, v10}, Landroidx/collection/MutableLongObjectMap;->set(JLjava/lang/Object;)V :cond_0 shr-long/2addr v5, v8 add-int/lit8 v9, v9, 0x1 goto :goto_1 :cond_1 if-ne v7, v8, :cond_3 :cond_2 if-eq v4, v2, :cond_3 add-int/lit8 v4, v4, 0x1 goto :goto_0 :cond_3 return-void .end method .method public final remove(J)Ljava/lang/Object; .locals 15 .annotation system Ldalvik/annotation/Signature; value = { "(J)TV;" } .end annotation move-object v0, p0 .line 849 invoke-static/range {p1 .. p2}, Ljava/lang/Long;->hashCode(J)I move-result v1 const v2, -0x3361d2af # -8.293031E7f mul-int/2addr v1, v2 shl-int/lit8 v2, v1, 0x10 xor-int/2addr v1, v2 and-int/lit8 v2, v1, 0x7f iget v3, v0, Landroidx/collection/LongObjectMap;->_capacity:I ushr-int/lit8 v1, v1, 0x7 and-int/2addr v1, v3 const/4 v4, 0x0 :goto_0 iget-object v5, v0, Landroidx/collection/LongObjectMap;->metadata:[J shr-int/lit8 v6, v1, 0x3 and-int/lit8 v7, v1, 0x7 shl-int/lit8 v7, v7, 0x3 .line 1797 aget-wide v8, v5, v6 ushr-long/2addr v8, v7 add-int/lit8 v6, v6, 0x1 aget-wide v10, v5, v6 rsub-int/lit8 v5, v7, 0x40 shl-long v5, v10, v5 int-to-long v10, v7 neg-long v10, v10 const/16 v7, 0x3f shr-long/2addr v10, v7 and-long/2addr v5, v10 or-long/2addr v5, v8 int-to-long v7, v2 const-wide v9, 0x101010101010101L mul-long/2addr v7, v9 xor-long/2addr v7, v5 sub-long v9, v7, v9 not-long v7, v7 and-long/2addr v7, v9 const-wide v9, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v7, v9 :goto_1 const-wide/16 v11, 0x0 cmp-long v13, v7, v11 if-eqz v13, :cond_1 .line 1715 invoke-static {v7, v8}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v11 shr-int/lit8 v11, v11, 0x3 add-int/2addr v11, v1 and-int/2addr v11, v3 iget-object v12, v0, Landroidx/collection/LongObjectMap;->keys:[J .line 631 aget-wide v13, v12, v11 cmp-long v12, v13, p1 if-nez v12, :cond_0 goto :goto_2 :cond_0 const-wide/16 v11, 0x1 sub-long v11, v7, v11 and-long/2addr v7, v11 goto :goto_1 :cond_1 not-long v7, v5 const/4 v13, 0x6 shl-long/2addr v7, v13 and-long/2addr v5, v7 and-long/2addr v5, v9 cmp-long v5, v5, v11 if-eqz v5, :cond_3 const/4 v11, -0x1 :goto_2 if-ltz v11, :cond_2 .line 784 invoke-virtual {p0, v11}, Landroidx/collection/MutableLongObjectMap;->removeValueAt(I)Ljava/lang/Object; move-result-object v1 return-object v1 :cond_2 const/4 v1, 0x0 return-object v1 :cond_3 add-int/lit8 v4, v4, 0x8 add-int/2addr v1, v4 and-int/2addr v1, v3 goto :goto_0 .end method .method public final remove(JLjava/lang/Object;)Z .locals 17 .annotation system Ldalvik/annotation/Signature; value = { "(JTV;)Z" } .end annotation move-object/from16 v0, p0 .line 849 invoke-static/range {p1 .. p2}, Ljava/lang/Long;->hashCode(J)I move-result v1 const v2, -0x3361d2af # -8.293031E7f mul-int/2addr v1, v2 shl-int/lit8 v2, v1, 0x10 xor-int/2addr v1, v2 and-int/lit8 v2, v1, 0x7f iget v3, v0, Landroidx/collection/LongObjectMap;->_capacity:I ushr-int/lit8 v1, v1, 0x7 and-int/2addr v1, v3 const/4 v4, 0x0 move v5, v4 :goto_0 iget-object v6, v0, Landroidx/collection/LongObjectMap;->metadata:[J shr-int/lit8 v7, v1, 0x3 and-int/lit8 v8, v1, 0x7 shl-int/lit8 v8, v8, 0x3 .line 1797 aget-wide v9, v6, v7 ushr-long/2addr v9, v8 const/4 v11, 0x1 add-int/2addr v7, v11 aget-wide v12, v6, v7 rsub-int/lit8 v6, v8, 0x40 shl-long v6, v12, v6 int-to-long v12, v8 neg-long v12, v12 const/16 v8, 0x3f shr-long/2addr v12, v8 and-long/2addr v6, v12 or-long/2addr v6, v9 int-to-long v8, v2 const-wide v12, 0x101010101010101L mul-long/2addr v8, v12 xor-long/2addr v8, v6 sub-long v12, v8, v12 not-long v8, v8 and-long/2addr v8, v12 const-wide v12, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v8, v12 :goto_1 const-wide/16 v14, 0x0 cmp-long v10, v8, v14 if-eqz v10, :cond_1 .line 1715 invoke-static {v8, v9}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v10 shr-int/lit8 v10, v10, 0x3 add-int/2addr v10, v1 and-int/2addr v10, v3 iget-object v14, v0, Landroidx/collection/LongObjectMap;->keys:[J .line 631 aget-wide v15, v14, v10 cmp-long v14, v15, p1 if-nez v14, :cond_0 goto :goto_2 :cond_0 const-wide/16 v14, 0x1 sub-long v14, v8, v14 and-long/2addr v8, v14 goto :goto_1 :cond_1 not-long v8, v6 const/4 v10, 0x6 shl-long/2addr v8, v10 and-long/2addr v6, v8 and-long/2addr v6, v12 cmp-long v6, v6, v14 if-eqz v6, :cond_3 const/4 v10, -0x1 :goto_2 if-ltz v10, :cond_2 iget-object v1, v0, Landroidx/collection/LongObjectMap;->values:[Ljava/lang/Object; .line 796 aget-object v1, v1, v10 move-object/from16 v6, p3 invoke-static {v1, v6}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_2 .line 797 invoke-virtual {v0, v10}, Landroidx/collection/MutableLongObjectMap;->removeValueAt(I)Ljava/lang/Object; return v11 :cond_2 return v4 :cond_3 move-object/from16 v6, p3 add-int/lit8 v5, v5, 0x8 add-int/2addr v1, v5 and-int/2addr v1, v3 goto :goto_0 .end method .method public final removeIf(Lkotlin/jvm/functions/Function2;)V .locals 13 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/jvm/functions/Function2;", ")V" } .end annotation const-string v0, "predicate" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V iget-object v0, p0, Landroidx/collection/LongObjectMap;->metadata:[J .line 355 array-length v1, v0 add-int/lit8 v1, v1, -0x2 if-ltz v1, :cond_3 const/4 v2, 0x0 move v3, v2 .line 358 :goto_0 aget-wide v4, v0, v3 not-long v6, v4 const/4 v8, 0x7 shl-long/2addr v6, v8 and-long/2addr v6, v4 const-wide v8, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v6, v8 cmp-long v6, v6, v8 if-eqz v6, :cond_2 sub-int v6, v3, v1 not-int v6, v6 ushr-int/lit8 v6, v6, 0x1f const/16 v7, 0x8 rsub-int/lit8 v6, v6, 0x8 move v8, v2 :goto_1 if-ge v8, v6, :cond_1 const-wide/16 v9, 0xff and-long/2addr v9, v4 const-wide/16 v11, 0x80 cmp-long v9, v9, v11 if-gez v9, :cond_0 shl-int/lit8 v9, v3, 0x3 add-int/2addr v9, v8 iget-object v10, p0, Landroidx/collection/LongObjectMap;->keys:[J .line 810 aget-wide v11, v10, v9 invoke-static {v11, v12}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v10 iget-object v11, p0, Landroidx/collection/LongObjectMap;->values:[Ljava/lang/Object; aget-object v11, v11, v9 invoke-interface {p1, v10, v11}, Lkotlin/jvm/functions/Function2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v10 check-cast v10, Ljava/lang/Boolean; invoke-virtual {v10}, Ljava/lang/Boolean;->booleanValue()Z move-result v10 if-eqz v10, :cond_0 .line 811 invoke-virtual {p0, v9}, Landroidx/collection/MutableLongObjectMap;->removeValueAt(I)Ljava/lang/Object; :cond_0 shr-long/2addr v4, v7 add-int/lit8 v8, v8, 0x1 goto :goto_1 :cond_1 if-ne v6, v7, :cond_3 :cond_2 if-eq v3, v1, :cond_3 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_3 return-void .end method .method public final removeValueAt(I)Ljava/lang/Object; .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "(I)TV;" } .end annotation iget v0, p0, Landroidx/collection/LongObjectMap;->_size:I add-int/lit8 v0, v0, -0x1 iput v0, p0, Landroidx/collection/LongObjectMap;->_size:I iget-object v0, p0, Landroidx/collection/LongObjectMap;->metadata:[J shr-int/lit8 v1, p1, 0x3 and-int/lit8 v2, p1, 0x7 shl-int/lit8 v2, v2, 0x3 .line 1676 aget-wide v3, v0, v1 const-wide/16 v5, 0xff shl-long v7, v5, v2 not-long v7, v7 and-long/2addr v3, v7 const-wide/16 v7, 0xfe shl-long v9, v7, v2 or-long v2, v3, v9 aput-wide v2, v0, v1 iget v1, p0, Landroidx/collection/LongObjectMap;->_capacity:I add-int/lit8 v2, p1, -0x7 and-int/2addr v2, v1 and-int/lit8 v1, v1, 0x7 add-int/2addr v2, v1 shr-int/lit8 v1, v2, 0x3 and-int/lit8 v2, v2, 0x7 shl-int/lit8 v2, v2, 0x3 aget-wide v3, v0, v1 shl-long/2addr v5, v2 not-long v5, v5 and-long/2addr v3, v5 shl-long v5, v7, v2 or-long v2, v3, v5 aput-wide v2, v0, v1 iget-object v0, p0, Landroidx/collection/LongObjectMap;->values:[Ljava/lang/Object; .line 857 aget-object v1, v0, p1 const/4 v2, 0x0 .line 858 aput-object v2, v0, p1 return-object v1 .end method .method public final set(JLjava/lang/Object;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(JTV;)V" } .end annotation .line 739 invoke-direct {p0, p1, p2}, Landroidx/collection/MutableLongObjectMap;->findAbsoluteInsertIndex(J)I move-result v0 iget-object v1, p0, Landroidx/collection/LongObjectMap;->keys:[J .line 740 aput-wide p1, v1, v0 iget-object p1, p0, Landroidx/collection/LongObjectMap;->values:[Ljava/lang/Object; .line 741 aput-object p3, p1, v0 return-void .end method .method public final trim()I .locals 2 iget v0, p0, Landroidx/collection/LongObjectMap;->_capacity:I iget v1, p0, Landroidx/collection/LongObjectMap;->_size:I .line 954 invoke-static {v1}, Landroidx/collection/ScatterMapKt;->unloadedCapacity(I)I move-result v1 invoke-static {v1}, Landroidx/collection/ScatterMapKt;->normalizeCapacity(I)I move-result v1 if-ge v1, v0, :cond_0 .line 956 invoke-direct {p0, v1}, Landroidx/collection/MutableLongObjectMap;->resizeStorage(I)V iget v1, p0, Landroidx/collection/LongObjectMap;->_capacity:I sub-int/2addr v0, v1 return v0 :cond_0 const/4 v0, 0x0 return v0 .end method