Compiled from "HashMap.java" public class java.util.HashMap extends java.util.AbstractMap implements java.util.Map, java.lang.Cloneable, java.io.Serializable { static final int DEFAULT_INITIAL_CAPACITY = 16; static final int MAXIMUM_CAPACITY = 1073741824; static final float DEFAULT_LOAD_FACTOR = 0.75f; static final java.util.HashMap$KeyValueData[] EMPTY_TABLE; transient java.util.HashMap$KeyValueData[] table; transient int size; int threshold; final float loadFactor; transient int modCount; final transient int hashSeed; transient java.util.HashMap$Entry nullKeyEntry; private transient java.util.Set> entrySet; private static final long serialVersionUID = 362498820763181265l; static java.lang.Class comparableClassFor(java.lang.Object); Code: 0: aload_0 1: invokevirtual #1 // Method java/lang/Object.getClass:()Ljava/lang/Class; 4: dup 5: astore_1 6: ldc #2 // class java/lang/String 8: if_acmpne 13 11: aload_1 12: areturn 13: ldc #3 // class java/lang/Comparable 15: dup 16: astore_3 17: aload_1 18: invokevirtual #4 // Method java/lang/Class.isAssignableFrom:(Ljava/lang/Class;)Z 21: ifeq 130 24: aload_3 25: aload_1 26: invokevirtual #5 // Method java/lang/Class.getSuperclass:()Ljava/lang/Class; 29: dup 30: astore_2 31: invokevirtual #4 // Method java/lang/Class.isAssignableFrom:(Ljava/lang/Class;)Z 34: ifeq 42 37: aload_2 38: astore_1 39: goto 24 42: aload_1 43: invokevirtual #6 // Method java/lang/Class.getGenericInterfaces:()[Ljava/lang/reflect/Type; 46: dup 47: astore 4 49: ifnull 130 52: iconst_0 53: istore 8 55: iload 8 57: aload 4 59: arraylength 60: if_icmpge 130 63: aload 4 65: iload 8 67: aaload 68: dup 69: astore 6 71: instanceof #7 // class java/lang/reflect/ParameterizedType 74: ifeq 124 77: aload 6 79: checkcast #7 // class java/lang/reflect/ParameterizedType 82: dup 83: astore 7 85: invokeinterface #8, 1 // InterfaceMethod java/lang/reflect/ParameterizedType.getRawType:()Ljava/lang/reflect/Type; 90: aload_3 91: if_acmpne 124 94: aload 7 96: invokeinterface #9, 1 // InterfaceMethod java/lang/reflect/ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type; 101: dup 102: astore 5 104: ifnull 124 107: aload 5 109: arraylength 110: iconst_1 111: if_icmpne 124 114: aload 5 116: iconst_0 117: aaload 118: aload_1 119: if_acmpne 124 122: aload_1 123: areturn 124: iinc 8, 1 127: goto 55 130: aconst_null 131: areturn public java.util.HashMap(int, float); Code: 0: aload_0 1: invokespecial #10 // Method java/util/AbstractMap."":()V 4: aload_0 5: getstatic #11 // Field EMPTY_TABLE:[Ljava/util/HashMap$KeyValueData; 8: checkcast #12 // class "[Ljava/util/HashMap$KeyValueData;" 11: putfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 14: aload_0 15: aconst_null 16: putfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 19: aload_0 20: aconst_null 21: putfield #15 // Field entrySet:Ljava/util/Set; 24: iload_1 25: ifge 55 28: new #16 // class java/lang/IllegalArgumentException 31: dup 32: new #17 // class java/lang/StringBuilder 35: dup 36: invokespecial #18 // Method java/lang/StringBuilder."":()V 39: ldc #19 // String Illegal initial capacity: 41: invokevirtual #20 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 44: iload_1 45: invokevirtual #21 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; 48: invokevirtual #22 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 51: invokespecial #23 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V 54: athrow 55: iload_1 56: ldc #25 // int 1073741824 58: if_icmple 64 61: ldc #25 // int 1073741824 63: istore_1 64: fload_2 65: fconst_0 66: fcmpg 67: ifle 77 70: fload_2 71: invokestatic #26 // Method java/lang/Float.isNaN:(F)Z 74: ifeq 104 77: new #16 // class java/lang/IllegalArgumentException 80: dup 81: new #17 // class java/lang/StringBuilder 84: dup 85: invokespecial #18 // Method java/lang/StringBuilder."":()V 88: ldc #27 // String Illegal load factor: 90: invokevirtual #20 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 93: fload_2 94: invokevirtual #28 // Method java/lang/StringBuilder.append:(F)Ljava/lang/StringBuilder; 97: invokevirtual #22 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 100: invokespecial #23 // Method java/lang/IllegalArgumentException."":(Ljava/lang/String;)V 103: athrow 104: aload_0 105: fload_2 106: putfield #29 // Field loadFactor:F 109: aload_0 110: iload_1 111: putfield #30 // Field threshold:I 114: aload_0 115: aload_0 116: invokevirtual #31 // Method initHashSeed:()I 119: putfield #32 // Field hashSeed:I 122: aload_0 123: invokevirtual #33 // Method init:()V 126: return public java.util.HashMap(int); Code: 0: aload_0 1: iload_1 2: ldc #34 // float 0.75f 4: invokespecial #35 // Method "":(IF)V 7: return public java.util.HashMap(); Code: 0: aload_0 1: bipush 16 3: ldc #34 // float 0.75f 5: invokespecial #35 // Method "":(IF)V 8: return public java.util.HashMap(java.util.Map); Code: 0: aload_0 1: aload_1 2: invokeinterface #36, 1 // InterfaceMethod java/util/Map.size:()I 7: i2f 8: ldc #34 // float 0.75f 10: fdiv 11: f2i 12: iconst_1 13: iadd 14: bipush 16 16: invokestatic #37 // Method java/lang/Math.max:(II)I 19: ldc #34 // float 0.75f 21: invokespecial #35 // Method "":(IF)V 24: aload_0 25: aload_0 26: getfield #30 // Field threshold:I 29: invokespecial #38 // Method inflateTable:(I)V 32: aload_0 33: aload_1 34: invokespecial #39 // Method putAllForCreate:(Ljava/util/Map;)V 37: return private static int roundUpToPowerOf2(int); Code: 0: iload_0 1: ldc #25 // int 1073741824 3: if_icmplt 11 6: ldc #25 // int 1073741824 8: goto 28 11: iload_0 12: iconst_1 13: if_icmple 27 16: iload_0 17: iconst_1 18: isub 19: iconst_1 20: ishl 21: invokestatic #40 // Method java/lang/Integer.highestOneBit:(I)I 24: goto 28 27: iconst_1 28: ireturn private void inflateTable(int); Code: 0: iload_1 1: invokestatic #41 // Method roundUpToPowerOf2:(I)I 4: istore_2 5: aload_0 6: iload_2 7: i2f 8: aload_0 9: getfield #29 // Field loadFactor:F 12: fmul 13: ldc #42 // float 1.07374182E9f 15: invokestatic #43 // Method java/lang/Math.min:(FF)F 18: f2i 19: putfield #30 // Field threshold:I 22: aload_0 23: iload_2 24: anewarray #44 // class java/util/HashMap$KeyValueData 27: checkcast #12 // class "[Ljava/util/HashMap$KeyValueData;" 30: putfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 33: return void init(); Code: 0: return final int initHashSeed(); Code: 0: invokestatic #45 // Method sun/misc/VM.isBooted:()Z 3: ifeq 29 6: getstatic #46 // Field java/util/HashMap$Holder.USE_HASHSEED:Z 9: ifeq 29 12: invokestatic #47 // Method java/util/concurrent/ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom; 15: invokevirtual #48 // Method java/util/concurrent/ThreadLocalRandom.nextInt:()I 18: istore_1 19: iload_1 20: ifeq 27 23: iload_1 24: goto 28 27: iconst_1 28: ireturn 29: iconst_0 30: ireturn final int hash(java.lang.Object); Code: 0: aload_0 1: getfield #32 // Field hashSeed:I 4: aload_1 5: invokevirtual #49 // Method java/lang/Object.hashCode:()I 8: ixor 9: istore_2 10: iload_2 11: iload_2 12: bipush 20 14: iushr 15: iload_2 16: bipush 12 18: iushr 19: ixor 20: ixor 21: istore_2 22: iload_2 23: iload_2 24: bipush 7 26: iushr 27: ixor 28: iload_2 29: iconst_4 30: iushr 31: ixor 32: ireturn static int indexFor(int, int); Code: 0: iload_0 1: iload_1 2: iconst_1 3: isub 4: iand 5: ireturn public int size(); Code: 0: aload_0 1: getfield #50 // Field size:I 4: ireturn public boolean isEmpty(); Code: 0: aload_0 1: getfield #50 // Field size:I 4: ifne 11 7: iconst_1 8: goto 12 11: iconst_0 12: ireturn public V get(java.lang.Object); Code: 0: aload_0 1: aload_1 2: invokevirtual #51 // Method getEntry:(Ljava/lang/Object;)Ljava/util/HashMap$Entry; 5: astore_2 6: aconst_null 7: aload_2 8: if_acmpne 15 11: aconst_null 12: goto 19 15: aload_2 16: invokevirtual #52 // Method java/util/HashMap$Entry.getValue:()Ljava/lang/Object; 19: areturn public V getOrDefault(java.lang.Object, V); Code: 0: aload_0 1: aload_1 2: invokevirtual #51 // Method getEntry:(Ljava/lang/Object;)Ljava/util/HashMap$Entry; 5: astore_3 6: aload_3 7: ifnonnull 14 10: aload_2 11: goto 18 14: aload_3 15: invokevirtual #52 // Method java/util/HashMap$Entry.getValue:()Ljava/lang/Object; 18: areturn public boolean containsKey(java.lang.Object); Code: 0: aload_0 1: aload_1 2: invokevirtual #51 // Method getEntry:(Ljava/lang/Object;)Ljava/util/HashMap$Entry; 5: ifnull 12 8: iconst_1 9: goto 13 12: iconst_0 13: ireturn final java.util.HashMap$Entry getEntry(java.lang.Object); Code: 0: aload_0 1: getfield #50 // Field size:I 4: ifne 9 7: aconst_null 8: areturn 9: aload_1 10: ifnonnull 18 13: aload_0 14: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 17: areturn 18: aload_0 19: aload_1 20: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 23: istore_2 24: iload_2 25: aload_0 26: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 29: arraylength 30: invokestatic #54 // Method indexFor:(II)I 33: istore_3 34: aload_0 35: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 38: iload_3 39: aaload 40: instanceof #55 // class java/util/HashMap$Entry 43: ifeq 111 46: aload_0 47: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 50: iload_3 51: aaload 52: checkcast #55 // class java/util/HashMap$Entry 55: astore 4 57: aload 4 59: ifnull 108 62: aload 4 64: getfield #56 // Field java/util/HashMap$Entry.hash:I 67: iload_2 68: if_icmpne 95 71: aload 4 73: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 76: dup 77: astore 5 79: aload_1 80: if_acmpeq 92 83: aload_1 84: aload 5 86: invokevirtual #58 // Method java/lang/Object.equals:(Ljava/lang/Object;)Z 89: ifeq 95 92: aload 4 94: areturn 95: aload 4 97: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 100: checkcast #55 // class java/util/HashMap$Entry 103: astore 4 105: goto 57 108: goto 153 111: aload_0 112: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 115: iload_3 116: aaload 117: ifnull 153 120: aload_0 121: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 124: iload_3 125: aaload 126: checkcast #60 // class java/util/HashMap$TreeBin 129: astore 4 131: aload 4 133: iload_2 134: aload_1 135: invokevirtual #61 // Method java/util/HashMap$TreeBin.getTreeNode:(ILjava/lang/Object;)Ljava/util/HashMap$TreeNode; 138: astore 5 140: aload 5 142: ifnull 151 145: aload 5 147: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 150: areturn 151: aconst_null 152: areturn 153: aconst_null 154: areturn public V put(K, V); Code: 0: aload_0 1: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 4: getstatic #11 // Field EMPTY_TABLE:[Ljava/util/HashMap$KeyValueData; 7: if_acmpne 18 10: aload_0 11: aload_0 12: getfield #30 // Field threshold:I 15: invokespecial #38 // Method inflateTable:(I)V 18: aload_1 19: ifnonnull 28 22: aload_0 23: aload_2 24: invokespecial #63 // Method putForNullKey:(Ljava/lang/Object;)Ljava/lang/Object; 27: areturn 28: aload_0 29: aload_1 30: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 33: istore_3 34: iload_3 35: aload_0 36: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 39: arraylength 40: invokestatic #54 // Method indexFor:(II)I 43: istore 4 45: iconst_0 46: istore 5 48: aload_0 49: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 52: iload 4 54: aaload 55: instanceof #55 // class java/util/HashMap$Entry 58: ifeq 166 61: iconst_0 62: istore 6 64: aload_0 65: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 68: iload 4 70: aaload 71: checkcast #55 // class java/util/HashMap$Entry 74: astore 7 76: aload 7 78: ifnull 149 81: aload 7 83: getfield #56 // Field java/util/HashMap$Entry.hash:I 86: iload_3 87: if_icmpne 133 90: aload 7 92: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 95: dup 96: astore 8 98: aload_1 99: if_acmpeq 111 102: aload_1 103: aload 8 105: invokevirtual #58 // Method java/lang/Object.equals:(Ljava/lang/Object;)Z 108: ifeq 133 111: aload 7 113: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 116: astore 9 118: aload 7 120: aload_2 121: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 124: aload 7 126: aload_0 127: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 130: aload 9 132: areturn 133: iinc 6, 1 136: aload 7 138: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 141: checkcast #55 // class java/util/HashMap$Entry 144: astore 7 146: goto 76 149: iload 6 151: bipush 16 153: if_icmplt 160 156: iconst_1 157: goto 161 160: iconst_0 161: istore 5 163: goto 277 166: aload_0 167: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 170: iload 4 172: aaload 173: ifnull 277 176: aload_0 177: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 180: iload 4 182: aaload 183: checkcast #60 // class java/util/HashMap$TreeBin 186: astore 6 188: aload 6 190: iload_3 191: aload_1 192: aload_2 193: aconst_null 194: invokevirtual #66 // Method java/util/HashMap$TreeBin.putTreeNode:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Entry;)Ljava/util/HashMap$TreeNode; 197: astore 7 199: aload 7 201: ifnonnull 248 204: aload_0 205: dup 206: getfield #67 // Field modCount:I 209: iconst_1 210: iadd 211: putfield #67 // Field modCount:I 214: aload_0 215: dup 216: getfield #50 // Field size:I 219: iconst_1 220: iadd 221: putfield #50 // Field size:I 224: aload_0 225: getfield #50 // Field size:I 228: aload_0 229: getfield #30 // Field threshold:I 232: if_icmplt 246 235: aload_0 236: iconst_2 237: aload_0 238: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 241: arraylength 242: imul 243: invokevirtual #68 // Method resize:(I)V 246: aconst_null 247: areturn 248: aload 7 250: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 253: astore 8 255: aload 8 257: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 260: astore 9 262: aload 8 264: aload_2 265: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 268: aload 8 270: aload_0 271: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 274: aload 9 276: areturn 277: aload_0 278: dup 279: getfield #67 // Field modCount:I 282: iconst_1 283: iadd 284: putfield #67 // Field modCount:I 287: aload_0 288: iload_3 289: aload_1 290: aload_2 291: iload 4 293: iload 5 295: invokevirtual #69 // Method addEntry:(ILjava/lang/Object;Ljava/lang/Object;IZ)V 298: aconst_null 299: areturn private V putForNullKey(V); Code: 0: aload_0 1: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 4: ifnull 33 7: aload_0 8: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 11: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 14: astore_2 15: aload_0 16: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 19: aload_1 20: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 23: aload_0 24: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 27: aload_0 28: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 31: aload_2 32: areturn 33: aload_0 34: dup 35: getfield #67 // Field modCount:I 38: iconst_1 39: iadd 40: putfield #67 // Field modCount:I 43: aload_0 44: dup 45: getfield #50 // Field size:I 48: iconst_1 49: iadd 50: putfield #50 // Field size:I 53: aload_0 54: aload_0 55: iconst_0 56: aconst_null 57: aload_1 58: aconst_null 59: invokevirtual #70 // Method newEntry:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$KeyValueData;)Ljava/util/HashMap$Entry; 62: putfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 65: aconst_null 66: areturn private void putForCreateNullKey(V); Code: 0: aload_0 1: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 4: ifnull 18 7: aload_0 8: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 11: aload_1 12: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 15: goto 40 18: aload_0 19: aload_0 20: iconst_0 21: aconst_null 22: aload_1 23: aconst_null 24: invokevirtual #70 // Method newEntry:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$KeyValueData;)Ljava/util/HashMap$Entry; 27: putfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 30: aload_0 31: dup 32: getfield #50 // Field size:I 35: iconst_1 36: iadd 37: putfield #50 // Field size:I 40: return private void putForCreate(K, V); Code: 0: aconst_null 1: aload_1 2: if_acmpne 11 5: aload_0 6: aload_2 7: invokespecial #71 // Method putForCreateNullKey:(Ljava/lang/Object;)V 10: return 11: aload_0 12: aload_1 13: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 16: istore_3 17: iload_3 18: aload_0 19: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 22: arraylength 23: invokestatic #54 // Method indexFor:(II)I 26: istore 4 28: iconst_0 29: istore 5 31: aload_0 32: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 35: iload 4 37: aaload 38: instanceof #55 // class java/util/HashMap$Entry 41: ifeq 134 44: iconst_0 45: istore 6 47: aload_0 48: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 51: iload 4 53: aaload 54: checkcast #55 // class java/util/HashMap$Entry 57: astore 7 59: aload 7 61: ifnull 117 64: aload 7 66: getfield #56 // Field java/util/HashMap$Entry.hash:I 69: iload_3 70: if_icmpne 101 73: aload 7 75: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 78: dup 79: astore 8 81: aload_1 82: if_acmpeq 94 85: aload_1 86: aload 8 88: invokevirtual #58 // Method java/lang/Object.equals:(Ljava/lang/Object;)Z 91: ifeq 101 94: aload 7 96: aload_2 97: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 100: return 101: iinc 6, 1 104: aload 7 106: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 109: checkcast #55 // class java/util/HashMap$Entry 112: astore 7 114: goto 59 117: iload 6 119: bipush 16 121: if_icmplt 128 124: iconst_1 125: goto 129 128: iconst_0 129: istore 5 131: goto 196 134: aload_0 135: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 138: iload 4 140: aaload 141: ifnull 196 144: aload_0 145: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 148: iload 4 150: aaload 151: checkcast #60 // class java/util/HashMap$TreeBin 154: astore 6 156: aload 6 158: iload_3 159: aload_1 160: aload_2 161: aconst_null 162: invokevirtual #66 // Method java/util/HashMap$TreeBin.putTreeNode:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Entry;)Ljava/util/HashMap$TreeNode; 165: astore 7 167: aload 7 169: ifnull 185 172: aload 7 174: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 177: aload_2 178: invokevirtual #72 // Method java/util/HashMap$Entry.setValue:(Ljava/lang/Object;)Ljava/lang/Object; 181: pop 182: goto 195 185: aload_0 186: dup 187: getfield #50 // Field size:I 190: iconst_1 191: iadd 192: putfield #50 // Field size:I 195: return 196: aload_0 197: iload_3 198: aload_1 199: aload_2 200: iload 4 202: iload 5 204: invokevirtual #73 // Method createEntry:(ILjava/lang/Object;Ljava/lang/Object;IZ)V 207: return private void putAllForCreate(java.util.Map); Code: 0: aload_1 1: invokeinterface #74, 1 // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set; 6: invokeinterface #75, 1 // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator; 11: astore_2 12: aload_2 13: invokeinterface #76, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 18: ifeq 50 21: aload_2 22: invokeinterface #77, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 27: checkcast #78 // class java/util/Map$Entry 30: astore_3 31: aload_0 32: aload_3 33: invokeinterface #79, 1 // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object; 38: aload_3 39: invokeinterface #80, 1 // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object; 44: invokespecial #81 // Method putForCreate:(Ljava/lang/Object;Ljava/lang/Object;)V 47: goto 12 50: return void resize(int); Code: 0: aload_0 1: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 4: astore_2 5: aload_2 6: arraylength 7: istore_3 8: iload_3 9: ldc #25 // int 1073741824 11: if_icmpne 21 14: aload_0 15: ldc #83 // int 2147483647 17: putfield #30 // Field threshold:I 20: return 21: iload_1 22: anewarray #44 // class java/util/HashMap$KeyValueData 25: checkcast #12 // class "[Ljava/util/HashMap$KeyValueData;" 28: astore 4 30: aload_0 31: aload 4 33: invokevirtual #84 // Method transfer:([Ljava/util/HashMap$KeyValueData;)V 36: aload_0 37: aload 4 39: putfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 42: aload_0 43: iload_1 44: i2f 45: aload_0 46: getfield #29 // Field loadFactor:F 49: fmul 50: ldc #42 // float 1.07374182E9f 52: invokestatic #43 // Method java/lang/Math.min:(FF)F 55: f2i 56: putfield #30 // Field threshold:I 59: return void transfer(java.util.HashMap$KeyValueData[]); Code: 0: aload_0 1: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 4: astore_2 5: aload_1 6: arraylength 7: istore_3 8: iconst_0 9: istore 4 11: iload 4 13: aload_2 14: arraylength 15: if_icmpge 150 18: aload_2 19: iload 4 21: aaload 22: instanceof #55 // class java/util/HashMap$Entry 25: ifeq 96 28: aload_2 29: iload 4 31: aaload 32: checkcast #55 // class java/util/HashMap$Entry 35: astore 5 37: aconst_null 38: aload 5 40: if_acmpeq 93 43: aload 5 45: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 48: checkcast #55 // class java/util/HashMap$Entry 51: astore 6 53: aload 5 55: getfield #56 // Field java/util/HashMap$Entry.hash:I 58: iload_3 59: invokestatic #54 // Method indexFor:(II)I 62: istore 7 64: aload_1 65: iload 7 67: aaload 68: checkcast #55 // class java/util/HashMap$Entry 71: astore 8 73: aload 5 75: aload 8 77: putfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 80: aload_1 81: iload 7 83: aload 5 85: aastore 86: aload 6 88: astore 5 90: goto 37 93: goto 144 96: aload_2 97: iload 4 99: aaload 100: ifnull 144 103: aload_2 104: iload 4 106: aaload 107: checkcast #60 // class java/util/HashMap$TreeBin 110: astore 5 112: new #60 // class java/util/HashMap$TreeBin 115: dup 116: aload_0 117: invokespecial #85 // Method java/util/HashMap$TreeBin."":(Ljava/util/HashMap;)V 120: astore 6 122: new #60 // class java/util/HashMap$TreeBin 125: dup 126: aload_0 127: invokespecial #85 // Method java/util/HashMap$TreeBin."":(Ljava/util/HashMap;)V 130: astore 7 132: aload 5 134: aload_1 135: iload 4 137: aload 6 139: aload 7 141: invokevirtual #86 // Method java/util/HashMap$TreeBin.splitTreeBin:([Ljava/util/HashMap$KeyValueData;ILjava/util/HashMap$TreeBin;Ljava/util/HashMap$TreeBin;)V 144: iinc 4, 1 147: goto 11 150: aload_0 151: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 154: aconst_null 155: invokestatic #87 // Method java/util/Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V 158: return public void putAll(java.util.Map); Code: 0: aload_1 1: invokeinterface #36, 1 // InterfaceMethod java/util/Map.size:()I 6: istore_2 7: iload_2 8: ifne 12 11: return 12: aload_0 13: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 16: getstatic #11 // Field EMPTY_TABLE:[Ljava/util/HashMap$KeyValueData; 19: if_acmpne 42 22: aload_0 23: iload_2 24: i2f 25: aload_0 26: getfield #29 // Field loadFactor:F 29: fmul 30: aload_0 31: getfield #30 // Field threshold:I 34: i2f 35: invokestatic #88 // Method java/lang/Math.max:(FF)F 38: f2i 39: invokespecial #38 // Method inflateTable:(I)V 42: iload_2 43: aload_0 44: getfield #30 // Field threshold:I 47: if_icmple 71 50: aload_0 51: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 54: arraylength 55: ldc #25 // int 1073741824 57: if_icmpge 71 60: aload_0 61: aload_0 62: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 65: arraylength 66: iconst_2 67: imul 68: invokevirtual #68 // Method resize:(I)V 71: aload_1 72: invokeinterface #74, 1 // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set; 77: invokeinterface #75, 1 // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator; 82: astore_3 83: aload_3 84: invokeinterface #76, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 89: ifeq 125 92: aload_3 93: invokeinterface #77, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 98: checkcast #78 // class java/util/Map$Entry 101: astore 4 103: aload_0 104: aload 4 106: invokeinterface #79, 1 // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object; 111: aload 4 113: invokeinterface #80, 1 // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object; 118: invokevirtual #89 // Method put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 121: pop 122: goto 83 125: return public V remove(java.lang.Object); Code: 0: aload_0 1: aload_1 2: invokevirtual #90 // Method removeEntryForKey:(Ljava/lang/Object;)Ljava/util/HashMap$Entry; 5: astore_2 6: aload_2 7: ifnonnull 14 10: aconst_null 11: goto 18 14: aload_2 15: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 18: areturn public void forEach(java.util.function.BiConsumer); Code: 0: aload_1 1: invokestatic #91 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; 4: pop 5: aload_0 6: getfield #67 // Field modCount:I 9: istore_2 10: aload_0 11: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 14: ifnull 23 17: aload_0 18: iload_2 19: aload_1 20: invokespecial #92 // Method forEachNullKey:(ILjava/util/function/BiConsumer;)V 23: aload_0 24: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 27: astore_3 28: iconst_0 29: istore 4 31: iload 4 33: aload_3 34: arraylength 35: if_icmpge 137 38: aload_3 39: iload 4 41: aaload 42: astore 5 44: aload 5 46: ifnonnull 52 49: goto 131 52: aload 5 54: instanceof #60 // class java/util/HashMap$TreeBin 57: ifeq 77 60: aload_0 61: iload_2 62: aload 5 64: checkcast #60 // class java/util/HashMap$TreeBin 67: getfield #93 // Field java/util/HashMap$TreeBin.first:Ljava/util/HashMap$TreeNode; 70: aload_1 71: invokespecial #94 // Method eachTreeNode:(ILjava/util/HashMap$TreeNode;Ljava/util/function/BiConsumer;)V 74: goto 131 77: aload 5 79: checkcast #55 // class java/util/HashMap$Entry 82: astore 6 84: aload 6 86: ifnull 131 89: aload_1 90: aload 6 92: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 95: aload 6 97: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 100: invokeinterface #95, 3 // InterfaceMethod java/util/function/BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V 105: aload 6 107: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 110: checkcast #55 // class java/util/HashMap$Entry 113: astore 6 115: iload_2 116: aload_0 117: getfield #67 // Field modCount:I 120: if_icmpeq 84 123: new #96 // class java/util/ConcurrentModificationException 126: dup 127: invokespecial #97 // Method java/util/ConcurrentModificationException."":()V 130: athrow 131: iinc 4, 1 134: goto 31 137: return private void eachTreeNode(int, java.util.HashMap$TreeNode, java.util.function.BiConsumer); Code: 0: aload_2 1: ifnull 54 4: aload_2 5: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 8: astore 4 10: aload_3 11: aload 4 13: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 16: aload 4 18: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 21: invokeinterface #95, 3 // InterfaceMethod java/util/function/BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V 26: aload 4 28: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 31: checkcast #98 // class java/util/HashMap$TreeNode 34: astore_2 35: iload_1 36: aload_0 37: getfield #67 // Field modCount:I 40: if_icmpeq 51 43: new #96 // class java/util/ConcurrentModificationException 46: dup 47: invokespecial #97 // Method java/util/ConcurrentModificationException."":()V 50: athrow 51: goto 0 54: return private void forEachNullKey(int, java.util.function.BiConsumer); Code: 0: aload_2 1: aconst_null 2: aload_0 3: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 6: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 9: invokeinterface #95, 3 // InterfaceMethod java/util/function/BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V 14: iload_1 15: aload_0 16: getfield #67 // Field modCount:I 19: if_icmpeq 30 22: new #96 // class java/util/ConcurrentModificationException 25: dup 26: invokespecial #97 // Method java/util/ConcurrentModificationException."":()V 29: athrow 30: return public void replaceAll(java.util.function.BiFunction); Code: 0: aload_1 1: invokestatic #91 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; 4: pop 5: aload_0 6: getfield #67 // Field modCount:I 9: istore_2 10: aload_0 11: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 14: ifnull 23 17: aload_0 18: iload_2 19: aload_1 20: invokespecial #99 // Method replaceforNullKey:(ILjava/util/function/BiFunction;)V 23: aload_0 24: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 27: astore_3 28: iconst_0 29: istore 4 31: iload 4 33: aload_3 34: arraylength 35: if_icmpge 142 38: aload_3 39: iload 4 41: aaload 42: astore 5 44: aload 5 46: ifnonnull 52 49: goto 136 52: aload 5 54: instanceof #60 // class java/util/HashMap$TreeBin 57: ifeq 77 60: aload_0 61: iload_2 62: aload 5 64: checkcast #60 // class java/util/HashMap$TreeBin 67: getfield #93 // Field java/util/HashMap$TreeBin.first:Ljava/util/HashMap$TreeNode; 70: aload_1 71: invokespecial #100 // Method replaceEachTreeNode:(ILjava/util/HashMap$TreeNode;Ljava/util/function/BiFunction;)V 74: goto 136 77: aload 5 79: checkcast #55 // class java/util/HashMap$Entry 82: astore 6 84: aload 6 86: ifnull 136 89: aload 6 91: aload_1 92: aload 6 94: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 97: aload 6 99: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 102: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 107: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 110: aload 6 112: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 115: checkcast #55 // class java/util/HashMap$Entry 118: astore 6 120: iload_2 121: aload_0 122: getfield #67 // Field modCount:I 125: if_icmpeq 84 128: new #96 // class java/util/ConcurrentModificationException 131: dup 132: invokespecial #97 // Method java/util/ConcurrentModificationException."":()V 135: athrow 136: iinc 4, 1 139: goto 31 142: return private void replaceEachTreeNode(int, java.util.HashMap$TreeNode, java.util.function.BiFunction); Code: 0: aload_2 1: ifnull 59 4: aload_2 5: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 8: astore 4 10: aload 4 12: aload_3 13: aload 4 15: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 18: aload 4 20: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 23: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 28: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 31: aload 4 33: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 36: checkcast #98 // class java/util/HashMap$TreeNode 39: astore_2 40: iload_1 41: aload_0 42: getfield #67 // Field modCount:I 45: if_icmpeq 56 48: new #96 // class java/util/ConcurrentModificationException 51: dup 52: invokespecial #97 // Method java/util/ConcurrentModificationException."":()V 55: athrow 56: goto 0 59: return private void replaceforNullKey(int, java.util.function.BiFunction); Code: 0: aload_0 1: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 4: aload_2 5: aconst_null 6: aload_0 7: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 10: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 13: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 18: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 21: iload_1 22: aload_0 23: getfield #67 // Field modCount:I 26: if_icmpeq 37 29: new #96 // class java/util/ConcurrentModificationException 32: dup 33: invokespecial #97 // Method java/util/ConcurrentModificationException."":()V 36: athrow 37: return public V putIfAbsent(K, V); Code: 0: aload_0 1: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 4: getstatic #11 // Field EMPTY_TABLE:[Ljava/util/HashMap$KeyValueData; 7: if_acmpne 18 10: aload_0 11: aload_0 12: getfield #30 // Field threshold:I 15: invokespecial #38 // Method inflateTable:(I)V 18: aload_1 19: ifnonnull 55 22: aload_0 23: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 26: ifnull 39 29: aload_0 30: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 33: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 36: ifnonnull 47 39: aload_0 40: aload_2 41: invokespecial #63 // Method putForNullKey:(Ljava/lang/Object;)Ljava/lang/Object; 44: pop 45: aconst_null 46: areturn 47: aload_0 48: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 51: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 54: areturn 55: aload_0 56: aload_1 57: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 60: istore_3 61: iload_3 62: aload_0 63: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 66: arraylength 67: invokestatic #54 // Method indexFor:(II)I 70: istore 4 72: iconst_0 73: istore 5 75: aload_0 76: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 79: iload 4 81: aaload 82: instanceof #55 // class java/util/HashMap$Entry 85: ifeq 190 88: iconst_0 89: istore 6 91: aload_0 92: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 95: iload 4 97: aaload 98: checkcast #55 // class java/util/HashMap$Entry 101: astore 7 103: aload 7 105: ifnull 173 108: aload 7 110: getfield #56 // Field java/util/HashMap$Entry.hash:I 113: iload_3 114: if_icmpne 157 117: aload 7 119: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 122: aload_1 123: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 126: ifeq 157 129: aload 7 131: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 134: ifnull 143 137: aload 7 139: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 142: areturn 143: aload 7 145: aload_2 146: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 149: aload 7 151: aload_0 152: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 155: aconst_null 156: areturn 157: iinc 6, 1 160: aload 7 162: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 165: checkcast #55 // class java/util/HashMap$Entry 168: astore 7 170: goto 103 173: iload 6 175: bipush 16 177: if_icmplt 184 180: iconst_1 181: goto 185 184: iconst_0 185: istore 5 187: goto 306 190: aload_0 191: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 194: iload 4 196: aaload 197: ifnull 306 200: aload_0 201: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 204: iload 4 206: aaload 207: checkcast #60 // class java/util/HashMap$TreeBin 210: astore 6 212: aload 6 214: iload_3 215: aload_1 216: aload_2 217: aconst_null 218: invokevirtual #66 // Method java/util/HashMap$TreeBin.putTreeNode:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Entry;)Ljava/util/HashMap$TreeNode; 221: astore 7 223: aload 7 225: ifnonnull 272 228: aload_0 229: dup 230: getfield #67 // Field modCount:I 233: iconst_1 234: iadd 235: putfield #67 // Field modCount:I 238: aload_0 239: dup 240: getfield #50 // Field size:I 243: iconst_1 244: iadd 245: putfield #50 // Field size:I 248: aload_0 249: getfield #50 // Field size:I 252: aload_0 253: getfield #30 // Field threshold:I 256: if_icmplt 270 259: aload_0 260: iconst_2 261: aload_0 262: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 265: arraylength 266: imul 267: invokevirtual #68 // Method resize:(I)V 270: aconst_null 271: areturn 272: aload 7 274: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 277: astore 8 279: aload 8 281: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 284: astore 9 286: aload 9 288: ifnonnull 303 291: aload 8 293: aload_2 294: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 297: aload 8 299: aload_0 300: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 303: aload 9 305: areturn 306: aload_0 307: dup 308: getfield #67 // Field modCount:I 311: iconst_1 312: iadd 313: putfield #67 // Field modCount:I 316: aload_0 317: iload_3 318: aload_1 319: aload_2 320: iload 4 322: iload 5 324: invokevirtual #69 // Method addEntry:(ILjava/lang/Object;Ljava/lang/Object;IZ)V 327: aconst_null 328: areturn public boolean remove(java.lang.Object, java.lang.Object); Code: 0: aload_0 1: getfield #50 // Field size:I 4: ifne 9 7: iconst_0 8: ireturn 9: aload_1 10: ifnonnull 43 13: aload_0 14: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 17: ifnull 41 20: aload_0 21: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 24: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 27: aload_2 28: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 31: ifeq 41 34: aload_0 35: invokespecial #103 // Method removeNullKey:()Ljava/util/HashMap$Entry; 38: pop 39: iconst_1 40: ireturn 41: iconst_0 42: ireturn 43: aload_0 44: aload_1 45: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 48: istore_3 49: iload_3 50: aload_0 51: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 54: arraylength 55: invokestatic #54 // Method indexFor:(II)I 58: istore 4 60: aload_0 61: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 64: iload 4 66: aaload 67: instanceof #55 // class java/util/HashMap$Entry 70: ifeq 207 73: aload_0 74: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 77: iload 4 79: aaload 80: checkcast #55 // class java/util/HashMap$Entry 83: astore 5 85: aload 5 87: astore 6 89: aload 6 91: ifnull 204 94: aload 6 96: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 99: checkcast #55 // class java/util/HashMap$Entry 102: astore 7 104: aload 6 106: getfield #56 // Field java/util/HashMap$Entry.hash:I 109: iload_3 110: if_icmpne 193 113: aload 6 115: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 118: aload_1 119: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 122: ifeq 193 125: aload 6 127: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 130: aload_2 131: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 134: ifne 139 137: iconst_0 138: ireturn 139: aload_0 140: dup 141: getfield #67 // Field modCount:I 144: iconst_1 145: iadd 146: putfield #67 // Field modCount:I 149: aload_0 150: dup 151: getfield #50 // Field size:I 154: iconst_1 155: isub 156: putfield #50 // Field size:I 159: aload 5 161: aload 6 163: if_acmpne 178 166: aload_0 167: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 170: iload 4 172: aload 7 174: aastore 175: goto 185 178: aload 5 180: aload 7 182: putfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 185: aload 6 187: aload_0 188: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 191: iconst_1 192: ireturn 193: aload 6 195: astore 5 197: aload 7 199: astore 6 201: goto 89 204: goto 321 207: aload_0 208: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 211: iload 4 213: aaload 214: ifnull 321 217: aload_0 218: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 221: iload 4 223: aaload 224: checkcast #60 // class java/util/HashMap$TreeBin 227: astore 5 229: aload 5 231: iload_3 232: aload_1 233: invokevirtual #61 // Method java/util/HashMap$TreeBin.getTreeNode:(ILjava/lang/Object;)Ljava/util/HashMap$TreeNode; 236: astore 6 238: aload 6 240: ifnull 321 243: aload 6 245: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 248: astore 7 250: aload 7 252: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 255: aload_2 256: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 259: ifeq 321 262: aload_0 263: dup 264: getfield #67 // Field modCount:I 267: iconst_1 268: iadd 269: putfield #67 // Field modCount:I 272: aload_0 273: dup 274: getfield #50 // Field size:I 277: iconst_1 278: isub 279: putfield #50 // Field size:I 282: aload 5 284: aload 6 286: invokevirtual #105 // Method java/util/HashMap$TreeBin.deleteTreeNode:(Ljava/util/HashMap$TreeNode;)V 289: aload 7 291: aload_0 292: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 295: aload 5 297: getfield #106 // Field java/util/HashMap$TreeBin.root:Ljava/util/HashMap$TreeNode; 300: ifnull 311 303: aload 5 305: getfield #93 // Field java/util/HashMap$TreeBin.first:Ljava/util/HashMap$TreeNode; 308: ifnonnull 319 311: aload_0 312: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 315: iload 4 317: aconst_null 318: aastore 319: iconst_1 320: ireturn 321: iconst_0 322: ireturn public boolean replace(K, V, V); Code: 0: aload_0 1: getfield #50 // Field size:I 4: ifne 9 7: iconst_0 8: ireturn 9: aload_1 10: ifnonnull 44 13: aload_0 14: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 17: ifnull 42 20: aload_0 21: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 24: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 27: aload_2 28: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 31: ifeq 42 34: aload_0 35: aload_3 36: invokespecial #63 // Method putForNullKey:(Ljava/lang/Object;)Ljava/lang/Object; 39: pop 40: iconst_1 41: ireturn 42: iconst_0 43: ireturn 44: aload_0 45: aload_1 46: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 49: istore 4 51: iload 4 53: aload_0 54: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 57: arraylength 58: invokestatic #54 // Method indexFor:(II)I 61: istore 5 63: aload_0 64: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 67: iload 5 69: aaload 70: instanceof #55 // class java/util/HashMap$Entry 73: ifeq 156 76: aload_0 77: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 80: iload 5 82: aaload 83: checkcast #55 // class java/util/HashMap$Entry 86: astore 6 88: aload 6 90: ifnull 154 93: aload 6 95: getfield #56 // Field java/util/HashMap$Entry.hash:I 98: iload 4 100: if_icmpne 141 103: aload 6 105: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 108: aload_1 109: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 112: ifeq 141 115: aload 6 117: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 120: aload_2 121: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 124: ifeq 141 127: aload 6 129: aload_3 130: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 133: aload 6 135: aload_0 136: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 139: iconst_1 140: ireturn 141: aload 6 143: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 146: checkcast #55 // class java/util/HashMap$Entry 149: astore 6 151: goto 88 154: iconst_0 155: ireturn 156: aload_0 157: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 160: iload 5 162: aaload 163: ifnull 226 166: aload_0 167: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 170: iload 5 172: aaload 173: checkcast #60 // class java/util/HashMap$TreeBin 176: astore 6 178: aload 6 180: iload 4 182: aload_1 183: invokevirtual #61 // Method java/util/HashMap$TreeBin.getTreeNode:(ILjava/lang/Object;)Ljava/util/HashMap$TreeNode; 186: astore 7 188: aload 7 190: ifnull 226 193: aload 7 195: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 198: astore 8 200: aload 8 202: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 205: aload_2 206: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 209: ifeq 226 212: aload 8 214: aload_3 215: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 218: aload 8 220: aload_0 221: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 224: iconst_1 225: ireturn 226: iconst_0 227: ireturn public V replace(K, V); Code: 0: aload_0 1: getfield #50 // Field size:I 4: ifne 9 7: aconst_null 8: areturn 9: aload_1 10: ifnonnull 28 13: aload_0 14: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 17: ifnull 26 20: aload_0 21: aload_2 22: invokespecial #63 // Method putForNullKey:(Ljava/lang/Object;)Ljava/lang/Object; 25: areturn 26: aconst_null 27: areturn 28: aload_0 29: aload_1 30: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 33: istore_3 34: iload_3 35: aload_0 36: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 39: arraylength 40: invokestatic #54 // Method indexFor:(II)I 43: istore 4 45: aload_0 46: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 49: iload 4 51: aaload 52: instanceof #55 // class java/util/HashMap$Entry 55: ifeq 133 58: aload_0 59: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 62: iload 4 64: aaload 65: checkcast #55 // class java/util/HashMap$Entry 68: astore 5 70: aload 5 72: ifnull 131 75: aload 5 77: getfield #56 // Field java/util/HashMap$Entry.hash:I 80: iload_3 81: if_icmpne 118 84: aload 5 86: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 89: aload_1 90: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 93: ifeq 118 96: aload 5 98: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 101: astore 6 103: aload 5 105: aload_2 106: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 109: aload 5 111: aload_0 112: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 115: aload 6 117: areturn 118: aload 5 120: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 123: checkcast #55 // class java/util/HashMap$Entry 126: astore 5 128: goto 70 131: aconst_null 132: areturn 133: aload_0 134: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 137: iload 4 139: aaload 140: ifnull 198 143: aload_0 144: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 147: iload 4 149: aaload 150: checkcast #60 // class java/util/HashMap$TreeBin 153: astore 5 155: aload 5 157: iload_3 158: aload_1 159: invokevirtual #61 // Method java/util/HashMap$TreeBin.getTreeNode:(ILjava/lang/Object;)Ljava/util/HashMap$TreeNode; 162: astore 6 164: aload 6 166: ifnull 198 169: aload 6 171: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 174: astore 7 176: aload 7 178: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 181: astore 8 183: aload 7 185: aload_2 186: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 189: aload 7 191: aload_0 192: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 195: aload 8 197: areturn 198: aconst_null 199: areturn public V computeIfAbsent(K, java.util.function.Function); Code: 0: aload_0 1: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 4: getstatic #11 // Field EMPTY_TABLE:[Ljava/util/HashMap$KeyValueData; 7: if_acmpne 18 10: aload_0 11: aload_0 12: getfield #30 // Field threshold:I 15: invokespecial #38 // Method inflateTable:(I)V 18: aload_1 19: ifnonnull 67 22: aload_0 23: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 26: ifnull 39 29: aload_0 30: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 33: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 36: ifnonnull 59 39: aload_2 40: aload_1 41: invokeinterface #107, 2 // InterfaceMethod java/util/function/Function.apply:(Ljava/lang/Object;)Ljava/lang/Object; 46: astore_3 47: aload_3 48: ifnull 57 51: aload_0 52: aload_3 53: invokespecial #63 // Method putForNullKey:(Ljava/lang/Object;)Ljava/lang/Object; 56: pop 57: aload_3 58: areturn 59: aload_0 60: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 63: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 66: areturn 67: aload_0 68: aload_1 69: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 72: istore_3 73: iload_3 74: aload_0 75: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 78: arraylength 79: invokestatic #54 // Method indexFor:(II)I 82: istore 4 84: iconst_0 85: istore 5 87: aload_0 88: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 91: iload 4 93: aaload 94: instanceof #55 // class java/util/HashMap$Entry 97: ifeq 219 100: iconst_0 101: istore 6 103: aload_0 104: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 107: iload 4 109: aaload 110: checkcast #55 // class java/util/HashMap$Entry 113: astore 7 115: aload 7 117: ifnull 202 120: aload 7 122: getfield #56 // Field java/util/HashMap$Entry.hash:I 125: iload_3 126: if_icmpne 186 129: aload 7 131: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 134: aload_1 135: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 138: ifeq 186 141: aload 7 143: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 146: astore 8 148: aload 8 150: ifnonnull 183 153: aload_2 154: aload_1 155: invokeinterface #107, 2 // InterfaceMethod java/util/function/Function.apply:(Ljava/lang/Object;)Ljava/lang/Object; 160: astore 9 162: aload 9 164: ifnull 180 167: aload 7 169: aload 9 171: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 174: aload 7 176: aload_0 177: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 180: aload 9 182: areturn 183: aload 8 185: areturn 186: iinc 6, 1 189: aload 7 191: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 194: checkcast #55 // class java/util/HashMap$Entry 197: astore 7 199: goto 115 202: iload 6 204: bipush 16 206: if_icmplt 213 209: iconst_1 210: goto 214 213: iconst_0 214: istore 5 216: goto 380 219: aload_0 220: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 223: iload 4 225: aaload 226: ifnull 380 229: aload_0 230: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 233: iload 4 235: aaload 236: checkcast #60 // class java/util/HashMap$TreeBin 239: astore 6 241: aload_2 242: aload_1 243: invokeinterface #107, 2 // InterfaceMethod java/util/function/Function.apply:(Ljava/lang/Object;)Ljava/lang/Object; 248: astore 7 250: aload 7 252: ifnonnull 280 255: aload 6 257: iload_3 258: aload_1 259: invokevirtual #61 // Method java/util/HashMap$TreeBin.getTreeNode:(ILjava/lang/Object;)Ljava/util/HashMap$TreeNode; 262: astore 8 264: aload 8 266: ifnull 278 269: aload 8 271: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 274: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 277: areturn 278: aconst_null 279: areturn 280: aload 6 282: iload_3 283: aload_1 284: aload 7 286: aconst_null 287: invokevirtual #66 // Method java/util/HashMap$TreeBin.putTreeNode:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Entry;)Ljava/util/HashMap$TreeNode; 290: astore 8 292: aload 8 294: ifnonnull 342 297: aload_0 298: dup 299: getfield #67 // Field modCount:I 302: iconst_1 303: iadd 304: putfield #67 // Field modCount:I 307: aload_0 308: dup 309: getfield #50 // Field size:I 312: iconst_1 313: iadd 314: putfield #50 // Field size:I 317: aload_0 318: getfield #50 // Field size:I 321: aload_0 322: getfield #30 // Field threshold:I 325: if_icmplt 339 328: aload_0 329: iconst_2 330: aload_0 331: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 334: arraylength 335: imul 336: invokevirtual #68 // Method resize:(I)V 339: aload 7 341: areturn 342: aload 8 344: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 347: astore 9 349: aload 9 351: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 354: astore 10 356: aload 10 358: ifnonnull 377 361: aload 9 363: aload 7 365: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 368: aload 9 370: aload_0 371: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 374: aload 7 376: areturn 377: aload 10 379: areturn 380: aload_2 381: aload_1 382: invokeinterface #107, 2 // InterfaceMethod java/util/function/Function.apply:(Ljava/lang/Object;)Ljava/lang/Object; 387: astore 6 389: aload 6 391: ifnull 416 394: aload_0 395: dup 396: getfield #67 // Field modCount:I 399: iconst_1 400: iadd 401: putfield #67 // Field modCount:I 404: aload_0 405: iload_3 406: aload_1 407: aload 6 409: iload 4 411: iload 5 413: invokevirtual #69 // Method addEntry:(ILjava/lang/Object;Ljava/lang/Object;IZ)V 416: aload 6 418: areturn public V computeIfPresent(K, java.util.function.BiFunction); Code: 0: aload_0 1: getfield #50 // Field size:I 4: ifne 9 7: aconst_null 8: areturn 9: aload_1 10: ifnonnull 64 13: aload_0 14: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 17: ifnull 62 20: aload_0 21: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 24: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 27: dup 28: astore_3 29: ifnull 62 32: aload_2 33: aload_1 34: aload_3 35: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 40: astore 4 42: aload 4 44: ifnull 57 47: aload_0 48: aload 4 50: invokespecial #63 // Method putForNullKey:(Ljava/lang/Object;)Ljava/lang/Object; 53: pop 54: aload 4 56: areturn 57: aload_0 58: invokespecial #103 // Method removeNullKey:()Ljava/util/HashMap$Entry; 61: pop 62: aconst_null 63: areturn 64: aload_0 65: aload_1 66: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 69: istore_3 70: iload_3 71: aload_0 72: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 75: arraylength 76: invokestatic #54 // Method indexFor:(II)I 79: istore 4 81: aload_0 82: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 85: iload 4 87: aaload 88: instanceof #55 // class java/util/HashMap$Entry 91: ifeq 262 94: aload_0 95: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 98: iload 4 100: aaload 101: checkcast #55 // class java/util/HashMap$Entry 104: astore 5 106: aload 5 108: astore 6 110: aload 6 112: ifnull 259 115: aload 6 117: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 120: checkcast #55 // class java/util/HashMap$Entry 123: astore 7 125: aload 6 127: getfield #56 // Field java/util/HashMap$Entry.hash:I 130: iload_3 131: if_icmpne 248 134: aload 6 136: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 139: aload_1 140: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 143: ifeq 248 146: aload 6 148: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 151: astore 8 153: aload 8 155: ifnonnull 161 158: goto 259 161: aload_2 162: aload_1 163: aload 8 165: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 170: astore 9 172: aload 9 174: ifnonnull 232 177: aload_0 178: dup 179: getfield #67 // Field modCount:I 182: iconst_1 183: iadd 184: putfield #67 // Field modCount:I 187: aload_0 188: dup 189: getfield #50 // Field size:I 192: iconst_1 193: isub 194: putfield #50 // Field size:I 197: aload 5 199: aload 6 201: if_acmpne 216 204: aload_0 205: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 208: iload 4 210: aload 7 212: aastore 213: goto 223 216: aload 5 218: aload 7 220: putfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 223: aload 6 225: aload_0 226: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 229: goto 245 232: aload 6 234: aload 9 236: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 239: aload 6 241: aload_0 242: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 245: aload 9 247: areturn 248: aload 6 250: astore 5 252: aload 7 254: astore 6 256: goto 110 259: goto 409 262: aload_0 263: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 266: iload 4 268: aaload 269: ifnull 409 272: aload_0 273: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 276: iload 4 278: aaload 279: checkcast #60 // class java/util/HashMap$TreeBin 282: astore 5 284: aload 5 286: iload_3 287: aload_1 288: invokevirtual #61 // Method java/util/HashMap$TreeBin.getTreeNode:(ILjava/lang/Object;)Ljava/util/HashMap$TreeNode; 291: astore 6 293: aload 6 295: ifnull 409 298: aload 6 300: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 303: astore 7 305: aload 7 307: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 310: astore 8 312: aload 8 314: ifnull 409 317: aload_2 318: aload_1 319: aload 8 321: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 326: astore 9 328: aload 9 330: ifnonnull 393 333: aload_0 334: dup 335: getfield #67 // Field modCount:I 338: iconst_1 339: iadd 340: putfield #67 // Field modCount:I 343: aload_0 344: dup 345: getfield #50 // Field size:I 348: iconst_1 349: isub 350: putfield #50 // Field size:I 353: aload 5 355: aload 6 357: invokevirtual #105 // Method java/util/HashMap$TreeBin.deleteTreeNode:(Ljava/util/HashMap$TreeNode;)V 360: aload 7 362: aload_0 363: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 366: aload 5 368: getfield #106 // Field java/util/HashMap$TreeBin.root:Ljava/util/HashMap$TreeNode; 371: ifnull 382 374: aload 5 376: getfield #93 // Field java/util/HashMap$TreeBin.first:Ljava/util/HashMap$TreeNode; 379: ifnonnull 406 382: aload_0 383: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 386: iload 4 388: aconst_null 389: aastore 390: goto 406 393: aload 7 395: aload 9 397: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 400: aload 7 402: aload_0 403: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 406: aload 9 408: areturn 409: aconst_null 410: areturn public V compute(K, java.util.function.BiFunction); Code: 0: aload_0 1: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 4: getstatic #11 // Field EMPTY_TABLE:[Ljava/util/HashMap$KeyValueData; 7: if_acmpne 18 10: aload_0 11: aload_0 12: getfield #30 // Field threshold:I 15: invokespecial #38 // Method inflateTable:(I)V 18: aload_1 19: ifnonnull 91 22: aload_0 23: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 26: ifnonnull 33 29: aconst_null 30: goto 40 33: aload_0 34: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 37: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 40: astore_3 41: aload_2 42: aload_1 43: aload_3 44: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 49: astore 4 51: aload 4 53: aload_3 54: if_acmpne 68 57: aload_3 58: ifnonnull 88 61: aload_0 62: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 65: ifnull 88 68: aload 4 70: ifnonnull 81 73: aload_0 74: invokespecial #103 // Method removeNullKey:()Ljava/util/HashMap$Entry; 77: pop 78: goto 88 81: aload_0 82: aload 4 84: invokespecial #63 // Method putForNullKey:(Ljava/lang/Object;)Ljava/lang/Object; 87: pop 88: aload 4 90: areturn 91: aload_0 92: aload_1 93: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 96: istore_3 97: iload_3 98: aload_0 99: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 102: arraylength 103: invokestatic #54 // Method indexFor:(II)I 106: istore 4 108: iconst_0 109: istore 5 111: aload_0 112: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 115: iload 4 117: aaload 118: instanceof #55 // class java/util/HashMap$Entry 121: ifeq 316 124: iconst_0 125: istore 6 127: aload_0 128: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 131: iload 4 133: aaload 134: checkcast #55 // class java/util/HashMap$Entry 137: astore 7 139: aload 7 141: astore 8 143: aload 8 145: ifnull 299 148: aload 8 150: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 153: checkcast #55 // class java/util/HashMap$Entry 156: astore 9 158: aload 8 160: getfield #56 // Field java/util/HashMap$Entry.hash:I 163: iload_3 164: if_icmpne 285 167: aload 8 169: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 172: aload_1 173: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 176: ifeq 285 179: aload 8 181: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 184: astore 10 186: aload_2 187: aload_1 188: aload 10 190: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 195: astore 11 197: aload 11 199: aload 10 201: if_acmpne 209 204: aload 10 206: ifnonnull 282 209: aload 11 211: ifnonnull 269 214: aload_0 215: dup 216: getfield #67 // Field modCount:I 219: iconst_1 220: iadd 221: putfield #67 // Field modCount:I 224: aload_0 225: dup 226: getfield #50 // Field size:I 229: iconst_1 230: isub 231: putfield #50 // Field size:I 234: aload 7 236: aload 8 238: if_acmpne 253 241: aload_0 242: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 245: iload 4 247: aload 9 249: aastore 250: goto 260 253: aload 7 255: aload 9 257: putfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 260: aload 8 262: aload_0 263: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 266: goto 282 269: aload 8 271: aload 11 273: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 276: aload 8 278: aload_0 279: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 282: aload 11 284: areturn 285: aload 8 287: astore 7 289: aload 9 291: astore 8 293: iinc 6, 1 296: goto 143 299: iload 6 301: bipush 16 303: if_icmplt 310 306: iconst_1 307: goto 311 310: iconst_0 311: istore 5 313: goto 551 316: aload_0 317: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 320: iload 4 322: aaload 323: ifnull 551 326: aload_0 327: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 330: iload 4 332: aaload 333: checkcast #60 // class java/util/HashMap$TreeBin 336: astore 6 338: aload 6 340: iload_3 341: aload_1 342: invokevirtual #61 // Method java/util/HashMap$TreeBin.getTreeNode:(ILjava/lang/Object;)Ljava/util/HashMap$TreeNode; 345: astore 7 347: aload 7 349: ifnonnull 356 352: aconst_null 353: goto 364 356: aload 7 358: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 361: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 364: astore 8 366: aload_2 367: aload_1 368: aload 8 370: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 375: astore 9 377: aload 9 379: aload 8 381: if_acmpne 394 384: aload 8 386: ifnonnull 548 389: aload 7 391: ifnull 548 394: aload 9 396: ifnonnull 466 399: aload 7 401: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 404: astore 10 406: aload_0 407: dup 408: getfield #67 // Field modCount:I 411: iconst_1 412: iadd 413: putfield #67 // Field modCount:I 416: aload_0 417: dup 418: getfield #50 // Field size:I 421: iconst_1 422: isub 423: putfield #50 // Field size:I 426: aload 6 428: aload 7 430: invokevirtual #105 // Method java/util/HashMap$TreeBin.deleteTreeNode:(Ljava/util/HashMap$TreeNode;)V 433: aload 10 435: aload_0 436: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 439: aload 6 441: getfield #106 // Field java/util/HashMap$TreeBin.root:Ljava/util/HashMap$TreeNode; 444: ifnull 455 447: aload 6 449: getfield #93 // Field java/util/HashMap$TreeBin.first:Ljava/util/HashMap$TreeNode; 452: ifnonnull 463 455: aload_0 456: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 459: iload 4 461: aconst_null 462: aastore 463: goto 548 466: aload 7 468: ifnull 494 471: aload 7 473: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 476: astore 10 478: aload 10 480: aload 9 482: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 485: aload 10 487: aload_0 488: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 491: goto 548 494: aload 6 496: iload_3 497: aload_1 498: aload 9 500: aconst_null 501: invokevirtual #66 // Method java/util/HashMap$TreeBin.putTreeNode:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Entry;)Ljava/util/HashMap$TreeNode; 504: astore 7 506: aload_0 507: dup 508: getfield #67 // Field modCount:I 511: iconst_1 512: iadd 513: putfield #67 // Field modCount:I 516: aload_0 517: dup 518: getfield #50 // Field size:I 521: iconst_1 522: iadd 523: putfield #50 // Field size:I 526: aload_0 527: getfield #50 // Field size:I 530: aload_0 531: getfield #30 // Field threshold:I 534: if_icmplt 548 537: aload_0 538: iconst_2 539: aload_0 540: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 543: arraylength 544: imul 545: invokevirtual #68 // Method resize:(I)V 548: aload 9 550: areturn 551: aload_2 552: aload_1 553: aconst_null 554: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 559: astore 6 561: aload 6 563: ifnull 588 566: aload_0 567: dup 568: getfield #67 // Field modCount:I 571: iconst_1 572: iadd 573: putfield #67 // Field modCount:I 576: aload_0 577: iload_3 578: aload_1 579: aload 6 581: iload 4 583: iload 5 585: invokevirtual #69 // Method addEntry:(ILjava/lang/Object;Ljava/lang/Object;IZ)V 588: aload 6 590: areturn public V merge(K, V, java.util.function.BiFunction); Code: 0: aload_0 1: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 4: getstatic #11 // Field EMPTY_TABLE:[Ljava/util/HashMap$KeyValueData; 7: if_acmpne 18 10: aload_0 11: aload_0 12: getfield #30 // Field threshold:I 15: invokespecial #38 // Method inflateTable:(I)V 18: aload_1 19: ifnonnull 92 22: aload_0 23: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 26: ifnonnull 33 29: aconst_null 30: goto 40 33: aload_0 34: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 37: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 40: astore 4 42: aload 4 44: ifnonnull 51 47: aload_2 48: goto 60 51: aload_3 52: aload 4 54: aload_2 55: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 60: astore 5 62: aload 5 64: ifnull 77 67: aload_0 68: aload 5 70: invokespecial #63 // Method putForNullKey:(Ljava/lang/Object;)Ljava/lang/Object; 73: pop 74: goto 89 77: aload_0 78: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 81: ifnull 89 84: aload_0 85: invokespecial #103 // Method removeNullKey:()Ljava/util/HashMap$Entry; 88: pop 89: aload 5 91: areturn 92: aload_0 93: aload_1 94: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 97: istore 4 99: iload 4 101: aload_0 102: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 105: arraylength 106: invokestatic #54 // Method indexFor:(II)I 109: istore 5 111: iconst_0 112: istore 6 114: aload_0 115: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 118: iload 5 120: aaload 121: instanceof #55 // class java/util/HashMap$Entry 124: ifeq 317 127: iconst_0 128: istore 7 130: aload_0 131: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 134: iload 5 136: aaload 137: checkcast #55 // class java/util/HashMap$Entry 140: astore 8 142: aload 8 144: astore 9 146: aload 9 148: ifnull 300 151: aload 9 153: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 156: checkcast #55 // class java/util/HashMap$Entry 159: astore 10 161: aload 9 163: getfield #56 // Field java/util/HashMap$Entry.hash:I 166: iload 4 168: if_icmpne 286 171: aload 9 173: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 176: aload_1 177: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 180: ifeq 286 183: aload 9 185: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 188: astore 11 190: aload 11 192: ifnonnull 199 195: aload_2 196: goto 208 199: aload_3 200: aload 11 202: aload_2 203: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 208: astore 12 210: aload 12 212: ifnonnull 270 215: aload_0 216: dup 217: getfield #67 // Field modCount:I 220: iconst_1 221: iadd 222: putfield #67 // Field modCount:I 225: aload_0 226: dup 227: getfield #50 // Field size:I 230: iconst_1 231: isub 232: putfield #50 // Field size:I 235: aload 8 237: aload 9 239: if_acmpne 254 242: aload_0 243: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 246: iload 5 248: aload 10 250: aastore 251: goto 261 254: aload 8 256: aload 10 258: putfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 261: aload 9 263: aload_0 264: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 267: goto 283 270: aload 9 272: aload 12 274: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 277: aload 9 279: aload_0 280: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 283: aload 12 285: areturn 286: aload 9 288: astore 8 290: aload 10 292: astore 9 294: iinc 7, 1 297: goto 146 300: iload 7 302: bipush 16 304: if_icmplt 311 307: iconst_1 308: goto 312 311: iconst_0 312: istore 6 314: goto 557 317: aload_0 318: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 321: iload 5 323: aaload 324: ifnull 557 327: aload_0 328: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 331: iload 5 333: aaload 334: checkcast #60 // class java/util/HashMap$TreeBin 337: astore 7 339: aload 7 341: iload 4 343: aload_1 344: invokevirtual #61 // Method java/util/HashMap$TreeBin.getTreeNode:(ILjava/lang/Object;)Ljava/util/HashMap$TreeNode; 347: astore 8 349: aload 8 351: ifnonnull 358 354: aconst_null 355: goto 366 358: aload 8 360: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 363: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 366: astore 9 368: aload 9 370: ifnonnull 377 373: aload_2 374: goto 386 377: aload_3 378: aload 9 380: aload_2 381: invokeinterface #101, 3 // InterfaceMethod java/util/function/BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 386: astore 10 388: aload 10 390: ifnonnull 464 393: aload 8 395: ifnull 462 398: aload 8 400: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 403: astore 11 405: aload_0 406: dup 407: getfield #67 // Field modCount:I 410: iconst_1 411: iadd 412: putfield #67 // Field modCount:I 415: aload_0 416: dup 417: getfield #50 // Field size:I 420: iconst_1 421: isub 422: putfield #50 // Field size:I 425: aload 7 427: aload 8 429: invokevirtual #105 // Method java/util/HashMap$TreeBin.deleteTreeNode:(Ljava/util/HashMap$TreeNode;)V 432: aload 11 434: aload_0 435: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 438: aload 7 440: getfield #106 // Field java/util/HashMap$TreeBin.root:Ljava/util/HashMap$TreeNode; 443: ifnull 454 446: aload 7 448: getfield #93 // Field java/util/HashMap$TreeBin.first:Ljava/util/HashMap$TreeNode; 451: ifnonnull 462 454: aload_0 455: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 458: iload 5 460: aconst_null 461: aastore 462: aconst_null 463: areturn 464: aload 10 466: aload 9 468: if_acmpeq 554 471: aload 8 473: ifnull 499 476: aload 8 478: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 481: astore 11 483: aload 11 485: aload 10 487: putfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 490: aload 11 492: aload_0 493: invokevirtual #65 // Method java/util/HashMap$Entry.recordAccess:(Ljava/util/HashMap;)V 496: goto 554 499: aload 7 501: iload 4 503: aload_1 504: aload 10 506: aconst_null 507: invokevirtual #66 // Method java/util/HashMap$TreeBin.putTreeNode:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Entry;)Ljava/util/HashMap$TreeNode; 510: astore 8 512: aload_0 513: dup 514: getfield #67 // Field modCount:I 517: iconst_1 518: iadd 519: putfield #67 // Field modCount:I 522: aload_0 523: dup 524: getfield #50 // Field size:I 527: iconst_1 528: iadd 529: putfield #50 // Field size:I 532: aload_0 533: getfield #50 // Field size:I 536: aload_0 537: getfield #30 // Field threshold:I 540: if_icmplt 554 543: aload_0 544: iconst_2 545: aload_0 546: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 549: arraylength 550: imul 551: invokevirtual #68 // Method resize:(I)V 554: aload 10 556: areturn 557: aload_2 558: ifnull 583 561: aload_0 562: dup 563: getfield #67 // Field modCount:I 566: iconst_1 567: iadd 568: putfield #67 // Field modCount:I 571: aload_0 572: iload 4 574: aload_1 575: aload_2 576: iload 5 578: iload 6 580: invokevirtual #69 // Method addEntry:(ILjava/lang/Object;Ljava/lang/Object;IZ)V 583: aload_2 584: areturn final java.util.HashMap$Entry removeEntryForKey(java.lang.Object); Code: 0: aload_0 1: getfield #50 // Field size:I 4: ifne 9 7: aconst_null 8: areturn 9: aload_1 10: ifnonnull 27 13: aload_0 14: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 17: ifnull 25 20: aload_0 21: invokespecial #103 // Method removeNullKey:()Ljava/util/HashMap$Entry; 24: areturn 25: aconst_null 26: areturn 27: aload_0 28: aload_1 29: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 32: istore_2 33: iload_2 34: aload_0 35: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 38: arraylength 39: invokestatic #54 // Method indexFor:(II)I 42: istore_3 43: aload_0 44: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 47: iload_3 48: aaload 49: instanceof #55 // class java/util/HashMap$Entry 52: ifeq 174 55: aload_0 56: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 59: iload_3 60: aaload 61: checkcast #55 // class java/util/HashMap$Entry 64: astore 4 66: aload 4 68: astore 5 70: aload 5 72: ifnull 171 75: aload 5 77: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 80: checkcast #55 // class java/util/HashMap$Entry 83: astore 6 85: aload 5 87: getfield #56 // Field java/util/HashMap$Entry.hash:I 90: iload_2 91: if_icmpne 160 94: aload 5 96: getfield #57 // Field java/util/HashMap$Entry.key:Ljava/lang/Object; 99: aload_1 100: invokestatic #102 // Method java/util/Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z 103: ifeq 160 106: aload_0 107: dup 108: getfield #67 // Field modCount:I 111: iconst_1 112: iadd 113: putfield #67 // Field modCount:I 116: aload_0 117: dup 118: getfield #50 // Field size:I 121: iconst_1 122: isub 123: putfield #50 // Field size:I 126: aload 4 128: aload 5 130: if_acmpne 144 133: aload_0 134: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 137: iload_3 138: aload 6 140: aastore 141: goto 151 144: aload 4 146: aload 6 148: putfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 151: aload 5 153: aload_0 154: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 157: aload 5 159: areturn 160: aload 5 162: astore 4 164: aload 6 166: astore 5 168: goto 70 171: goto 274 174: aload_0 175: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 178: iload_3 179: aaload 180: ifnull 274 183: aload_0 184: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 187: iload_3 188: aaload 189: checkcast #60 // class java/util/HashMap$TreeBin 192: astore 4 194: aload 4 196: iload_2 197: aload_1 198: invokevirtual #61 // Method java/util/HashMap$TreeBin.getTreeNode:(ILjava/lang/Object;)Ljava/util/HashMap$TreeNode; 201: astore 5 203: aload 5 205: ifnull 274 208: aload 5 210: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 213: astore 6 215: aload_0 216: dup 217: getfield #67 // Field modCount:I 220: iconst_1 221: iadd 222: putfield #67 // Field modCount:I 225: aload_0 226: dup 227: getfield #50 // Field size:I 230: iconst_1 231: isub 232: putfield #50 // Field size:I 235: aload 4 237: aload 5 239: invokevirtual #105 // Method java/util/HashMap$TreeBin.deleteTreeNode:(Ljava/util/HashMap$TreeNode;)V 242: aload 6 244: aload_0 245: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 248: aload 4 250: getfield #106 // Field java/util/HashMap$TreeBin.root:Ljava/util/HashMap$TreeNode; 253: ifnull 264 256: aload 4 258: getfield #93 // Field java/util/HashMap$TreeBin.first:Ljava/util/HashMap$TreeNode; 261: ifnonnull 271 264: aload_0 265: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 268: iload_3 269: aconst_null 270: aastore 271: aload 6 273: areturn 274: aconst_null 275: areturn final java.util.HashMap$Entry removeMapping(java.lang.Object); Code: 0: aload_0 1: getfield #50 // Field size:I 4: ifeq 14 7: aload_1 8: instanceof #78 // class java/util/Map$Entry 11: ifne 16 14: aconst_null 15: areturn 16: aload_1 17: checkcast #78 // class java/util/Map$Entry 20: astore_2 21: aload_2 22: invokeinterface #79, 1 // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object; 27: astore_3 28: aload_3 29: ifnonnull 52 32: aload_2 33: aload_0 34: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 37: invokeinterface #108, 2 // InterfaceMethod java/util/Map$Entry.equals:(Ljava/lang/Object;)Z 42: ifeq 50 45: aload_0 46: invokespecial #103 // Method removeNullKey:()Ljava/util/HashMap$Entry; 49: areturn 50: aconst_null 51: areturn 52: aload_0 53: aload_3 54: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 57: istore 4 59: iload 4 61: aload_0 62: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 65: arraylength 66: invokestatic #54 // Method indexFor:(II)I 69: istore 5 71: aload_0 72: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 75: iload 5 77: aaload 78: instanceof #55 // class java/util/HashMap$Entry 81: ifeq 203 84: aload_0 85: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 88: iload 5 90: aaload 91: checkcast #55 // class java/util/HashMap$Entry 94: astore 6 96: aload 6 98: astore 7 100: aload 7 102: ifnull 200 105: aload 7 107: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 110: checkcast #55 // class java/util/HashMap$Entry 113: astore 8 115: aload 7 117: getfield #56 // Field java/util/HashMap$Entry.hash:I 120: iload 4 122: if_icmpne 189 125: aload 7 127: aload_2 128: invokevirtual #109 // Method java/util/HashMap$Entry.equals:(Ljava/lang/Object;)Z 131: ifeq 189 134: aload_0 135: dup 136: getfield #67 // Field modCount:I 139: iconst_1 140: iadd 141: putfield #67 // Field modCount:I 144: aload_0 145: dup 146: getfield #50 // Field size:I 149: iconst_1 150: isub 151: putfield #50 // Field size:I 154: aload 6 156: aload 7 158: if_acmpne 173 161: aload_0 162: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 165: iload 5 167: aload 8 169: aastore 170: goto 180 173: aload 6 175: aload 8 177: putfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 180: aload 7 182: aload_0 183: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 186: aload 7 188: areturn 189: aload 7 191: astore 6 193: aload 8 195: astore 7 197: goto 100 200: goto 319 203: aload_0 204: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 207: iload 5 209: aaload 210: ifnull 319 213: aload_0 214: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 217: iload 5 219: aaload 220: checkcast #60 // class java/util/HashMap$TreeBin 223: astore 6 225: aload 6 227: iload 4 229: aload_3 230: invokevirtual #61 // Method java/util/HashMap$TreeBin.getTreeNode:(ILjava/lang/Object;)Ljava/util/HashMap$TreeNode; 233: astore 7 235: aload 7 237: ifnull 319 240: aload 7 242: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 245: aload_2 246: invokevirtual #109 // Method java/util/HashMap$Entry.equals:(Ljava/lang/Object;)Z 249: ifeq 319 252: aload 7 254: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 257: astore 8 259: aload_0 260: dup 261: getfield #67 // Field modCount:I 264: iconst_1 265: iadd 266: putfield #67 // Field modCount:I 269: aload_0 270: dup 271: getfield #50 // Field size:I 274: iconst_1 275: isub 276: putfield #50 // Field size:I 279: aload 6 281: aload 7 283: invokevirtual #105 // Method java/util/HashMap$TreeBin.deleteTreeNode:(Ljava/util/HashMap$TreeNode;)V 286: aload 8 288: aload_0 289: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 292: aload 6 294: getfield #106 // Field java/util/HashMap$TreeBin.root:Ljava/util/HashMap$TreeNode; 297: ifnull 308 300: aload 6 302: getfield #93 // Field java/util/HashMap$TreeBin.first:Ljava/util/HashMap$TreeNode; 305: ifnonnull 316 308: aload_0 309: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 312: iload 5 314: aconst_null 315: aastore 316: aload 8 318: areturn 319: aconst_null 320: areturn private java.util.HashMap$Entry removeNullKey(); Code: 0: aload_0 1: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 4: astore_1 5: aload_0 6: dup 7: getfield #67 // Field modCount:I 10: iconst_1 11: iadd 12: putfield #67 // Field modCount:I 15: aload_0 16: dup 17: getfield #50 // Field size:I 20: iconst_1 21: isub 22: putfield #50 // Field size:I 25: aload_1 26: aload_0 27: invokevirtual #104 // Method java/util/HashMap$Entry.recordRemoval:(Ljava/util/HashMap;)V 30: aload_0 31: aconst_null 32: putfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 35: aload_1 36: areturn public void clear(); Code: 0: aload_0 1: dup 2: getfield #67 // Field modCount:I 5: iconst_1 6: iadd 7: putfield #67 // Field modCount:I 10: aload_0 11: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 14: ifnull 22 17: aload_0 18: aconst_null 19: putfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 22: aload_0 23: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 26: aconst_null 27: invokestatic #87 // Method java/util/Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V 30: aload_0 31: iconst_0 32: putfield #50 // Field size:I 35: return public boolean containsValue(java.lang.Object); Code: 0: aload_1 1: ifnonnull 9 4: aload_0 5: invokespecial #110 // Method containsNullValue:()Z 8: ireturn 9: aload_0 10: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 13: astore_2 14: iconst_0 15: istore_3 16: iload_3 17: aload_2 18: arraylength 19: if_icmpge 151 22: aload_2 23: iload_3 24: aaload 25: instanceof #55 // class java/util/HashMap$Entry 28: ifeq 74 31: aload_2 32: iload_3 33: aaload 34: checkcast #55 // class java/util/HashMap$Entry 37: astore 4 39: aload 4 41: ifnull 71 44: aload_1 45: aload 4 47: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 50: invokevirtual #58 // Method java/lang/Object.equals:(Ljava/lang/Object;)Z 53: ifeq 58 56: iconst_1 57: ireturn 58: aload 4 60: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 63: checkcast #55 // class java/util/HashMap$Entry 66: astore 4 68: goto 39 71: goto 145 74: aload_2 75: iload_3 76: aaload 77: ifnull 145 80: aload_2 81: iload_3 82: aaload 83: checkcast #60 // class java/util/HashMap$TreeBin 86: astore 4 88: aload 4 90: getfield #93 // Field java/util/HashMap$TreeBin.first:Ljava/util/HashMap$TreeNode; 93: astore 5 95: aload 5 97: ifnull 145 100: aload_1 101: aload 5 103: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 106: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 109: if_acmpeq 127 112: aload_1 113: aload 5 115: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 118: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 121: invokevirtual #58 // Method java/lang/Object.equals:(Ljava/lang/Object;)Z 124: ifeq 129 127: iconst_1 128: ireturn 129: aload 5 131: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 134: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 137: checkcast #98 // class java/util/HashMap$TreeNode 140: astore 5 142: goto 95 145: iinc 3, 1 148: goto 16 151: aload_0 152: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 155: ifnull 187 158: aload_1 159: aload_0 160: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 163: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 166: if_acmpeq 183 169: aload_1 170: aload_0 171: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 174: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 177: invokevirtual #58 // Method java/lang/Object.equals:(Ljava/lang/Object;)Z 180: ifeq 187 183: iconst_1 184: goto 188 187: iconst_0 188: ireturn private boolean containsNullValue(); Code: 0: aload_0 1: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 4: astore_1 5: iconst_0 6: istore_2 7: iload_2 8: aload_1 9: arraylength 10: if_icmpge 115 13: aload_1 14: iload_2 15: aaload 16: instanceof #55 // class java/util/HashMap$Entry 19: ifeq 56 22: aload_1 23: iload_2 24: aaload 25: checkcast #55 // class java/util/HashMap$Entry 28: astore_3 29: aload_3 30: ifnull 53 33: aload_3 34: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 37: ifnonnull 42 40: iconst_1 41: ireturn 42: aload_3 43: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 46: checkcast #55 // class java/util/HashMap$Entry 49: astore_3 50: goto 29 53: goto 109 56: aload_1 57: iload_2 58: aaload 59: ifnull 109 62: aload_1 63: iload_2 64: aaload 65: checkcast #60 // class java/util/HashMap$TreeBin 68: astore_3 69: aload_3 70: getfield #93 // Field java/util/HashMap$TreeBin.first:Ljava/util/HashMap$TreeNode; 73: astore 4 75: aload 4 77: ifnull 109 80: aload 4 82: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 85: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 88: ifnonnull 93 91: iconst_1 92: ireturn 93: aload 4 95: getfield #62 // Field java/util/HashMap$TreeNode.entry:Ljava/util/HashMap$Entry; 98: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 101: checkcast #98 // class java/util/HashMap$TreeNode 104: astore 4 106: goto 75 109: iinc 2, 1 112: goto 7 115: aload_0 116: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 119: ifnull 136 122: aload_0 123: getfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 126: getfield #64 // Field java/util/HashMap$Entry.value:Ljava/lang/Object; 129: ifnonnull 136 132: iconst_1 133: goto 137 136: iconst_0 137: ireturn public java.lang.Object clone(); Code: 0: aconst_null 1: astore_1 2: aload_0 3: invokespecial #111 // Method java/util/AbstractMap.clone:()Ljava/lang/Object; 6: checkcast #24 // class java/util/HashMap 9: astore_1 10: goto 14 13: astore_2 14: aload_1 15: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 18: getstatic #11 // Field EMPTY_TABLE:[Ljava/util/HashMap$KeyValueData; 21: if_acmpeq 59 24: aload_1 25: aload_0 26: getfield #50 // Field size:I 29: i2f 30: fconst_1 31: aload_0 32: getfield #29 // Field loadFactor:F 35: fdiv 36: ldc #113 // float 4.0f 38: invokestatic #43 // Method java/lang/Math.min:(FF)F 41: fmul 42: ldc #42 // float 1.07374182E9f 44: invokestatic #43 // Method java/lang/Math.min:(FF)F 47: f2i 48: aload_0 49: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 52: arraylength 53: invokestatic #114 // Method java/lang/Math.min:(II)I 56: invokespecial #38 // Method inflateTable:(I)V 59: aload_1 60: aconst_null 61: putfield #15 // Field entrySet:Ljava/util/Set; 64: aload_1 65: iconst_0 66: putfield #67 // Field modCount:I 69: aload_1 70: iconst_0 71: putfield #50 // Field size:I 74: aload_1 75: aconst_null 76: putfield #14 // Field nullKeyEntry:Ljava/util/HashMap$Entry; 79: aload_1 80: invokevirtual #33 // Method init:()V 83: aload_1 84: aload_0 85: invokespecial #39 // Method putAllForCreate:(Ljava/util/Map;)V 88: aload_1 89: areturn Exception table: from to target type 2 10 13 Class java/lang/CloneNotSupportedException void addEntry(int, K, V, int); Code: 0: aload_0 1: iload_1 2: aload_2 3: aload_3 4: iload 4 6: iconst_1 7: invokevirtual #69 // Method addEntry:(ILjava/lang/Object;Ljava/lang/Object;IZ)V 10: return void addEntry(int, K, V, int, boolean); Code: 0: aload_0 1: getfield #50 // Field size:I 4: aload_0 5: getfield #30 // Field threshold:I 8: if_icmplt 50 11: aconst_null 12: aload_0 13: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 16: iload 4 18: aaload 19: if_acmpeq 50 22: aload_0 23: iconst_2 24: aload_0 25: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 28: arraylength 29: imul 30: invokevirtual #68 // Method resize:(I)V 33: aload_0 34: aload_2 35: invokevirtual #53 // Method hash:(Ljava/lang/Object;)I 38: istore_1 39: iload_1 40: aload_0 41: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 44: arraylength 45: invokestatic #54 // Method indexFor:(II)I 48: istore 4 50: aload_0 51: iload_1 52: aload_2 53: aload_3 54: iload 4 56: iload 5 58: invokevirtual #73 // Method createEntry:(ILjava/lang/Object;Ljava/lang/Object;IZ)V 61: return void createEntry(int, K, V, int, boolean); Code: 0: aload_0 1: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 4: iload 4 6: aaload 7: checkcast #55 // class java/util/HashMap$Entry 10: astore 6 12: aload_0 13: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 16: iload 4 18: aload_0 19: iload_1 20: aload_2 21: aload_3 22: aload 6 24: invokevirtual #70 // Method newEntry:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$KeyValueData;)Ljava/util/HashMap$Entry; 27: aastore 28: aload_0 29: dup 30: getfield #50 // Field size:I 33: iconst_1 34: iadd 35: putfield #50 // Field size:I 38: iload 5 40: ifeq 130 43: iconst_0 44: istore 7 46: aload_0 47: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 50: iload 4 52: aaload 53: checkcast #55 // class java/util/HashMap$Entry 56: astore 6 58: aload 6 60: ifnull 130 63: iinc 7, 1 66: iload 7 68: bipush 16 70: if_icmplt 117 73: aload_2 74: invokestatic #115 // Method comparableClassFor:(Ljava/lang/Object;)Ljava/lang/Class; 77: ifnull 130 80: new #60 // class java/util/HashMap$TreeBin 83: dup 84: aload_0 85: invokespecial #85 // Method java/util/HashMap$TreeBin."":(Ljava/util/HashMap;)V 88: astore 8 90: aload 8 92: aload_0 93: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 96: iload 4 98: aaload 99: checkcast #55 // class java/util/HashMap$Entry 102: invokevirtual #116 // Method java/util/HashMap$TreeBin.populate:(Ljava/util/HashMap$Entry;)V 105: aload_0 106: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 109: iload 4 111: aload 8 113: aastore 114: goto 130 117: aload 6 119: getfield #59 // Field java/util/HashMap$Entry.next:Ljava/util/HashMap$KeyValueData; 122: checkcast #55 // class java/util/HashMap$Entry 125: astore 6 127: goto 58 130: return java.util.HashMap$Entry newEntry(int, K, V, java.util.HashMap$KeyValueData); Code: 0: new #55 // class java/util/HashMap$Entry 3: dup 4: iload_1 5: aload_2 6: aload_3 7: aload 4 9: invokespecial #117 // Method java/util/HashMap$Entry."":(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$KeyValueData;)V 12: areturn java.util.Iterator newKeyIterator(); Code: 0: new #118 // class java/util/HashMap$KeyIterator 3: dup 4: aload_0 5: aconst_null 6: invokespecial #119 // Method java/util/HashMap$KeyIterator."":(Ljava/util/HashMap;Ljava/util/HashMap$1;)V 9: areturn java.util.Iterator newValueIterator(); Code: 0: new #120 // class java/util/HashMap$ValueIterator 3: dup 4: aload_0 5: aconst_null 6: invokespecial #121 // Method java/util/HashMap$ValueIterator."":(Ljava/util/HashMap;Ljava/util/HashMap$1;)V 9: areturn java.util.Iterator> newEntryIterator(); Code: 0: new #122 // class java/util/HashMap$EntryIterator 3: dup 4: aload_0 5: aconst_null 6: invokespecial #123 // Method java/util/HashMap$EntryIterator."":(Ljava/util/HashMap;Ljava/util/HashMap$1;)V 9: areturn public java.util.Set keySet(); Code: 0: aload_0 1: getfield #124 // Field keySet:Ljava/util/Set; 4: astore_1 5: aload_1 6: ifnull 13 9: aload_1 10: goto 27 13: aload_0 14: new #125 // class java/util/HashMap$KeySet 17: dup 18: aload_0 19: aconst_null 20: invokespecial #126 // Method java/util/HashMap$KeySet."":(Ljava/util/HashMap;Ljava/util/HashMap$1;)V 23: dup_x1 24: putfield #124 // Field keySet:Ljava/util/Set; 27: areturn public java.util.Collection values(); Code: 0: aload_0 1: getfield #127 // Field values:Ljava/util/Collection; 4: astore_1 5: aload_1 6: ifnull 13 9: aload_1 10: goto 27 13: aload_0 14: new #128 // class java/util/HashMap$Values 17: dup 18: aload_0 19: aconst_null 20: invokespecial #129 // Method java/util/HashMap$Values."":(Ljava/util/HashMap;Ljava/util/HashMap$1;)V 23: dup_x1 24: putfield #127 // Field values:Ljava/util/Collection; 27: areturn public java.util.Set> entrySet(); Code: 0: aload_0 1: invokespecial #130 // Method entrySet0:()Ljava/util/Set; 4: areturn private java.util.Set> entrySet0(); Code: 0: aload_0 1: getfield #15 // Field entrySet:Ljava/util/Set; 4: astore_1 5: aload_1 6: ifnull 13 9: aload_1 10: goto 27 13: aload_0 14: new #131 // class java/util/HashMap$EntrySet 17: dup 18: aload_0 19: aconst_null 20: invokespecial #132 // Method java/util/HashMap$EntrySet."":(Ljava/util/HashMap;Ljava/util/HashMap$1;)V 23: dup_x1 24: putfield #15 // Field entrySet:Ljava/util/Set; 27: areturn private void writeObject(java.io.ObjectOutputStream) throws java.io.IOException; Code: 0: aload_1 1: invokevirtual #133 // Method java/io/ObjectOutputStream.defaultWriteObject:()V 4: aload_0 5: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 8: getstatic #11 // Field EMPTY_TABLE:[Ljava/util/HashMap$KeyValueData; 11: if_acmpne 28 14: aload_1 15: aload_0 16: getfield #30 // Field threshold:I 19: invokestatic #41 // Method roundUpToPowerOf2:(I)I 22: invokevirtual #134 // Method java/io/ObjectOutputStream.writeInt:(I)V 25: goto 37 28: aload_1 29: aload_0 30: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 33: arraylength 34: invokevirtual #134 // Method java/io/ObjectOutputStream.writeInt:(I)V 37: aload_1 38: aload_0 39: getfield #50 // Field size:I 42: invokevirtual #134 // Method java/io/ObjectOutputStream.writeInt:(I)V 45: aload_0 46: getfield #50 // Field size:I 49: ifle 104 52: aload_0 53: invokespecial #130 // Method entrySet0:()Ljava/util/Set; 56: invokeinterface #75, 1 // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator; 61: astore_2 62: aload_2 63: invokeinterface #76, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 68: ifeq 104 71: aload_2 72: invokeinterface #77, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 77: checkcast #78 // class java/util/Map$Entry 80: astore_3 81: aload_1 82: aload_3 83: invokeinterface #79, 1 // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object; 88: invokevirtual #135 // Method java/io/ObjectOutputStream.writeObject:(Ljava/lang/Object;)V 91: aload_1 92: aload_3 93: invokeinterface #80, 1 // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object; 98: invokevirtual #135 // Method java/io/ObjectOutputStream.writeObject:(Ljava/lang/Object;)V 101: goto 62 104: return private void readObject(java.io.ObjectInputStream) throws java.io.IOException, java.lang.ClassNotFoundException; Code: 0: aload_1 1: invokevirtual #136 // Method java/io/ObjectInputStream.defaultReadObject:()V 4: aload_0 5: getfield #29 // Field loadFactor:F 8: fconst_0 9: fcmpg 10: ifle 23 13: aload_0 14: getfield #29 // Field loadFactor:F 17: invokestatic #26 // Method java/lang/Float.isNaN:(F)Z 20: ifeq 53 23: new #137 // class java/io/InvalidObjectException 26: dup 27: new #17 // class java/lang/StringBuilder 30: dup 31: invokespecial #18 // Method java/lang/StringBuilder."":()V 34: ldc #27 // String Illegal load factor: 36: invokevirtual #20 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 39: aload_0 40: getfield #29 // Field loadFactor:F 43: invokevirtual #28 // Method java/lang/StringBuilder.append:(F)Ljava/lang/StringBuilder; 46: invokevirtual #22 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 49: invokespecial #138 // Method java/io/InvalidObjectException."":(Ljava/lang/String;)V 52: athrow 53: getstatic #46 // Field java/util/HashMap$Holder.USE_HASHSEED:Z 56: ifeq 85 59: invokestatic #47 // Method java/util/concurrent/ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom; 62: invokevirtual #48 // Method java/util/concurrent/ThreadLocalRandom.nextInt:()I 65: istore_2 66: getstatic #139 // Field java/util/HashMap$Holder.UNSAFE:Lsun/misc/Unsafe; 69: aload_0 70: getstatic #140 // Field java/util/HashMap$Holder.HASHSEED_OFFSET:J 73: iload_2 74: ifeq 81 77: iload_2 78: goto 82 81: iconst_1 82: invokevirtual #141 // Method sun/misc/Unsafe.putIntVolatile:(Ljava/lang/Object;JI)V 85: aload_0 86: getstatic #11 // Field EMPTY_TABLE:[Ljava/util/HashMap$KeyValueData; 89: checkcast #12 // class "[Ljava/util/HashMap$KeyValueData;" 92: putfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 95: aload_1 96: invokevirtual #142 // Method java/io/ObjectInputStream.readInt:()I 99: pop 100: aload_1 101: invokevirtual #142 // Method java/io/ObjectInputStream.readInt:()I 104: istore_2 105: iload_2 106: ifge 136 109: new #137 // class java/io/InvalidObjectException 112: dup 113: new #17 // class java/lang/StringBuilder 116: dup 117: invokespecial #18 // Method java/lang/StringBuilder."":()V 120: ldc #143 // String Illegal mappings count: 122: invokevirtual #20 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 125: iload_2 126: invokevirtual #21 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; 129: invokevirtual #22 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 132: invokespecial #138 // Method java/io/InvalidObjectException."":(Ljava/lang/String;)V 135: athrow 136: iload_2 137: i2f 138: fconst_1 139: aload_0 140: getfield #29 // Field loadFactor:F 143: fdiv 144: ldc #113 // float 4.0f 146: invokestatic #43 // Method java/lang/Math.min:(FF)F 149: fmul 150: ldc #42 // float 1.07374182E9f 152: invokestatic #43 // Method java/lang/Math.min:(FF)F 155: f2i 156: istore_3 157: iload_2 158: ifle 169 161: aload_0 162: iload_3 163: invokespecial #38 // Method inflateTable:(I)V 166: goto 174 169: aload_0 170: iload_3 171: putfield #30 // Field threshold:I 174: aload_0 175: invokevirtual #33 // Method init:()V 178: iconst_0 179: istore 4 181: iload 4 183: iload_2 184: if_icmpge 213 187: aload_1 188: invokevirtual #144 // Method java/io/ObjectInputStream.readObject:()Ljava/lang/Object; 191: astore 5 193: aload_1 194: invokevirtual #144 // Method java/io/ObjectInputStream.readObject:()Ljava/lang/Object; 197: astore 6 199: aload_0 200: aload 5 202: aload 6 204: invokespecial #81 // Method putForCreate:(Ljava/lang/Object;Ljava/lang/Object;)V 207: iinc 4, 1 210: goto 181 213: return int capacity(); Code: 0: aload_0 1: getfield #13 // Field table:[Ljava/util/HashMap$KeyValueData; 4: arraylength 5: ireturn float loadFactor(); Code: 0: aload_0 1: getfield #29 // Field loadFactor:F 4: freturn static {}; Code: 0: iconst_0 1: anewarray #44 // class java/util/HashMap$KeyValueData 4: putstatic #11 // Field EMPTY_TABLE:[Ljava/util/HashMap$KeyValueData; 7: return }