Created
January 19, 2015 17:46
-
-
Save badlogic/35c3c2efac1d5d605394 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BOOH: this | |
call void @"llvm.dbg.declare"(metadata %Object** %r0, metadata !40) | |
label1: | |
call void @"llvm.dbg.declare"(metadata %Object** %r0, metadata !40), !dbg !{i32 334, i32 0, !24, null} | |
%t5 = getelementptr %TrycatchContext* %t0, i32 0, i32 1 | |
store i32 0, i32* %t5 | |
store volatile %Object* %p1, %Object** %r0 | |
store volatile %Object* %p2, %Object** %r1 | |
store volatile i32 %p3, i32* %i0 | |
store volatile %Object* %p4, %Object** %r2 | |
%t6 = sext i8 %p5 to i32 | |
store volatile i32 %t6, i32* %z0 | |
%t7 = load volatile %Object** %r0, !dbg !{i32 334, i32 0, !28, null} | |
%t8 = call i8 @"[j]java.util.concurrent.ConcurrentHashMap$Segment.tryLock()Z[Invokevirtual(java/util/concurrent/ConcurrentHashMap$Segment,java/util/concurrent/ConcurrentHashMap$Segment)]"(%Env* %p0, %Object* %t7), !dbg !{i32 334, i32 0, !28, null} | |
%t9 = sext i8 %t8 to i32, !dbg !{i32 334, i32 0, !28, null} | |
store volatile i32 %t9, i32* %$z1, !dbg !{i32 334, i32 0, !28, null} | |
%t10 = load volatile i32* %$z1, !dbg !{i32 334, i32 0, !28, null} | |
%t11 = icmp eq i32 %t10, 0, !dbg !{i32 334, i32 0, !28, null} | |
br i1 %t11, label %label3, label %label2, !dbg !{i32 334, i32 0, !28, null} | |
BOOH: key | |
call void @"llvm.dbg.declare"(metadata %Object** %r1, metadata !41) | |
label1: | |
call void @"llvm.dbg.declare"(metadata %Object** %r0, metadata !40), !dbg !{i32 334, i32 0, !24, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r1, metadata !41), !dbg !{i32 334, i32 0, !24, null} | |
%t5 = getelementptr %TrycatchContext* %t0, i32 0, i32 1 | |
store i32 0, i32* %t5 | |
store volatile %Object* %p1, %Object** %r0 | |
store volatile %Object* %p2, %Object** %r1 | |
store volatile i32 %p3, i32* %i0 | |
store volatile %Object* %p4, %Object** %r2 | |
%t6 = sext i8 %p5 to i32 | |
store volatile i32 %t6, i32* %z0 | |
%t7 = load volatile %Object** %r0, !dbg !{i32 334, i32 0, !28, null} | |
%t8 = call i8 @"[j]java.util.concurrent.ConcurrentHashMap$Segment.tryLock()Z[Invokevirtual(java/util/concurrent/ConcurrentHashMap$Segment,java/util/concurrent/ConcurrentHashMap$Segment)]"(%Env* %p0, %Object* %t7), !dbg !{i32 334, i32 0, !28, null} | |
%t9 = sext i8 %t8 to i32, !dbg !{i32 334, i32 0, !28, null} | |
store volatile i32 %t9, i32* %$z1, !dbg !{i32 334, i32 0, !28, null} | |
%t10 = load volatile i32* %$z1, !dbg !{i32 334, i32 0, !28, null} | |
%t11 = icmp eq i32 %t10, 0, !dbg !{i32 334, i32 0, !28, null} | |
br i1 %t11, label %label3, label %label2, !dbg !{i32 334, i32 0, !28, null} | |
BOOH: hash | |
call void @"llvm.dbg.declare"(metadata i32* %i0, metadata !42) | |
label1: | |
call void @"llvm.dbg.declare"(metadata %Object** %r0, metadata !40), !dbg !{i32 334, i32 0, !24, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r1, metadata !41), !dbg !{i32 334, i32 0, !24, null} | |
call void @"llvm.dbg.declare"(metadata i32* %i0, metadata !42), !dbg !{i32 334, i32 0, !24, null} | |
%t5 = getelementptr %TrycatchContext* %t0, i32 0, i32 1 | |
store i32 0, i32* %t5 | |
store volatile %Object* %p1, %Object** %r0 | |
store volatile %Object* %p2, %Object** %r1 | |
store volatile i32 %p3, i32* %i0 | |
store volatile %Object* %p4, %Object** %r2 | |
%t6 = sext i8 %p5 to i32 | |
store volatile i32 %t6, i32* %z0 | |
%t7 = load volatile %Object** %r0, !dbg !{i32 334, i32 0, !28, null} | |
%t8 = call i8 @"[j]java.util.concurrent.ConcurrentHashMap$Segment.tryLock()Z[Invokevirtual(java/util/concurrent/ConcurrentHashMap$Segment,java/util/concurrent/ConcurrentHashMap$Segment)]"(%Env* %p0, %Object* %t7), !dbg !{i32 334, i32 0, !28, null} | |
%t9 = sext i8 %t8 to i32, !dbg !{i32 334, i32 0, !28, null} | |
store volatile i32 %t9, i32* %$z1, !dbg !{i32 334, i32 0, !28, null} | |
%t10 = load volatile i32* %$z1, !dbg !{i32 334, i32 0, !28, null} | |
%t11 = icmp eq i32 %t10, 0, !dbg !{i32 334, i32 0, !28, null} | |
br i1 %t11, label %label3, label %label2, !dbg !{i32 334, i32 0, !28, null} | |
BOOH: value | |
call void @"llvm.dbg.declare"(metadata %Object** %r2, metadata !43) | |
label1: | |
call void @"llvm.dbg.declare"(metadata %Object** %r0, metadata !40), !dbg !{i32 334, i32 0, !24, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r1, metadata !41), !dbg !{i32 334, i32 0, !24, null} | |
call void @"llvm.dbg.declare"(metadata i32* %i0, metadata !42), !dbg !{i32 334, i32 0, !24, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r2, metadata !43), !dbg !{i32 334, i32 0, !24, null} | |
%t5 = getelementptr %TrycatchContext* %t0, i32 0, i32 1 | |
store i32 0, i32* %t5 | |
store volatile %Object* %p1, %Object** %r0 | |
store volatile %Object* %p2, %Object** %r1 | |
store volatile i32 %p3, i32* %i0 | |
store volatile %Object* %p4, %Object** %r2 | |
%t6 = sext i8 %p5 to i32 | |
store volatile i32 %t6, i32* %z0 | |
%t7 = load volatile %Object** %r0, !dbg !{i32 334, i32 0, !28, null} | |
%t8 = call i8 @"[j]java.util.concurrent.ConcurrentHashMap$Segment.tryLock()Z[Invokevirtual(java/util/concurrent/ConcurrentHashMap$Segment,java/util/concurrent/ConcurrentHashMap$Segment)]"(%Env* %p0, %Object* %t7), !dbg !{i32 334, i32 0, !28, null} | |
%t9 = sext i8 %t8 to i32, !dbg !{i32 334, i32 0, !28, null} | |
store volatile i32 %t9, i32* %$z1, !dbg !{i32 334, i32 0, !28, null} | |
%t10 = load volatile i32* %$z1, !dbg !{i32 334, i32 0, !28, null} | |
%t11 = icmp eq i32 %t10, 0, !dbg !{i32 334, i32 0, !28, null} | |
br i1 %t11, label %label3, label %label2, !dbg !{i32 334, i32 0, !28, null} | |
BOOH: onlyIfAbsent | |
call void @"llvm.dbg.declare"(metadata i32* %z0, metadata !44) | |
label1: | |
call void @"llvm.dbg.declare"(metadata %Object** %r0, metadata !40), !dbg !{i32 334, i32 0, !24, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r1, metadata !41), !dbg !{i32 334, i32 0, !24, null} | |
call void @"llvm.dbg.declare"(metadata i32* %i0, metadata !42), !dbg !{i32 334, i32 0, !24, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r2, metadata !43), !dbg !{i32 334, i32 0, !24, null} | |
call void @"llvm.dbg.declare"(metadata i32* %z0, metadata !44), !dbg !{i32 334, i32 0, !24, null} | |
%t5 = getelementptr %TrycatchContext* %t0, i32 0, i32 1 | |
store i32 0, i32* %t5 | |
store volatile %Object* %p1, %Object** %r0 | |
store volatile %Object* %p2, %Object** %r1 | |
store volatile i32 %p3, i32* %i0 | |
store volatile %Object* %p4, %Object** %r2 | |
%t6 = sext i8 %p5 to i32 | |
store volatile i32 %t6, i32* %z0 | |
%t7 = load volatile %Object** %r0, !dbg !{i32 334, i32 0, !28, null} | |
%t8 = call i8 @"[j]java.util.concurrent.ConcurrentHashMap$Segment.tryLock()Z[Invokevirtual(java/util/concurrent/ConcurrentHashMap$Segment,java/util/concurrent/ConcurrentHashMap$Segment)]"(%Env* %p0, %Object* %t7), !dbg !{i32 334, i32 0, !28, null} | |
%t9 = sext i8 %t8 to i32, !dbg !{i32 334, i32 0, !28, null} | |
store volatile i32 %t9, i32* %$z1, !dbg !{i32 334, i32 0, !28, null} | |
%t10 = load volatile i32* %$z1, !dbg !{i32 334, i32 0, !28, null} | |
%t11 = icmp eq i32 %t10, 0, !dbg !{i32 334, i32 0, !28, null} | |
br i1 %t11, label %label3, label %label2, !dbg !{i32 334, i32 0, !28, null} | |
BOOH: node | |
call void @"llvm.dbg.declare"(metadata %Object** %r3, metadata !45) | |
label4: | |
%t17 = load volatile %Object** %$r10, !dbg !{i32 334, i32 0, !28, null} | |
store volatile %Object* %t17, %Object** %r3, !dbg !{i32 334, i32 0, !28, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r3, metadata !45), !dbg !{i32 338, i32 0, !29, null} | |
%t18 = getelementptr %TrycatchContext* %t0, i32 0, i32 1, !dbg !{i32 338, i32 0, !29, null} | |
store i32 1, i32* %t18, !dbg !{i32 338, i32 0, !29, null} | |
%t19 = load volatile %Object** %r0, !dbg !{i32 338, i32 0, !29, null} | |
%t20 = call %Object* @"[j]java.util.concurrent.ConcurrentHashMap$Segment.table([Ljava/util/concurrent/ConcurrentHashMap$HashEntry;)[get]"(%Env* %p0, %Object* %t19), !dbg !{i32 338, i32 0, !29, null} | |
store volatile %Object* %t20, %Object** %r4, !dbg !{i32 338, i32 0, !29, null} | |
%t21 = load volatile %Object** %r4, !dbg !{i32 339, i32 0, !30, null} | |
%t22 = call i8 @"checknull"(%Env* %p0, %Object* %t21), !dbg !{i32 339, i32 0, !30, null} | |
%t23 = call i32 @"arraylength"(%Object* %t21), !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t23, i32* %$i2, !dbg !{i32 339, i32 0, !30, null} | |
%t25 = load volatile i32* %$i2, !dbg !{i32 339, i32 0, !30, null} | |
%t24 = sub i32 %t25, 1, !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t24, i32* %$i3, !dbg !{i32 339, i32 0, !30, null} | |
%t27 = load volatile i32* %$i3, !dbg !{i32 339, i32 0, !30, null} | |
%t28 = load volatile i32* %i0, !dbg !{i32 339, i32 0, !30, null} | |
%t26 = and i32 %t27, %t28, !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t26, i32* %i1, !dbg !{i32 339, i32 0, !30, null} | |
%t29 = load volatile %Object** %r4, !dbg !{i32 340, i32 0, !31, null} | |
%t30 = load volatile i32* %i1, !dbg !{i32 340, i32 0, !31, null} | |
%t31 = call %Object* @"[j]java.util.concurrent.ConcurrentHashMap.entryAt([Ljava/util/concurrent/ConcurrentHashMap$HashEntry;I)Ljava/util/concurrent/ConcurrentHashMap$HashEntry;[Invokestatic(java/util/concurrent/ConcurrentHashMap$Segment)]"(%Env* %p0, %Object* %t29, i32 %t30), !dbg !{i32 340, i32 0, !31, null} | |
store volatile %Object* %t31, %Object** %r5, !dbg !{i32 340, i32 0, !31, null} | |
%t32 = load volatile %Object** %r5, !dbg !{i32 341, i32 0, !32, null} | |
store volatile %Object* %t32, %Object** %r6, !dbg !{i32 341, i32 0, !32, null} | |
br label %label5 | |
BOOH: tab | |
call void @"llvm.dbg.declare"(metadata %Object** %r4, metadata !46) | |
label4: | |
%t17 = load volatile %Object** %$r10, !dbg !{i32 334, i32 0, !28, null} | |
store volatile %Object* %t17, %Object** %r3, !dbg !{i32 334, i32 0, !28, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r3, metadata !45), !dbg !{i32 338, i32 0, !29, null} | |
%t18 = getelementptr %TrycatchContext* %t0, i32 0, i32 1, !dbg !{i32 338, i32 0, !29, null} | |
store i32 1, i32* %t18, !dbg !{i32 338, i32 0, !29, null} | |
%t19 = load volatile %Object** %r0, !dbg !{i32 338, i32 0, !29, null} | |
%t20 = call %Object* @"[j]java.util.concurrent.ConcurrentHashMap$Segment.table([Ljava/util/concurrent/ConcurrentHashMap$HashEntry;)[get]"(%Env* %p0, %Object* %t19), !dbg !{i32 338, i32 0, !29, null} | |
store volatile %Object* %t20, %Object** %r4, !dbg !{i32 338, i32 0, !29, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r4, metadata !46), !dbg !{i32 339, i32 0, !30, null} | |
%t21 = load volatile %Object** %r4, !dbg !{i32 339, i32 0, !30, null} | |
%t22 = call i8 @"checknull"(%Env* %p0, %Object* %t21), !dbg !{i32 339, i32 0, !30, null} | |
%t23 = call i32 @"arraylength"(%Object* %t21), !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t23, i32* %$i2, !dbg !{i32 339, i32 0, !30, null} | |
%t25 = load volatile i32* %$i2, !dbg !{i32 339, i32 0, !30, null} | |
%t24 = sub i32 %t25, 1, !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t24, i32* %$i3, !dbg !{i32 339, i32 0, !30, null} | |
%t27 = load volatile i32* %$i3, !dbg !{i32 339, i32 0, !30, null} | |
%t28 = load volatile i32* %i0, !dbg !{i32 339, i32 0, !30, null} | |
%t26 = and i32 %t27, %t28, !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t26, i32* %i1, !dbg !{i32 339, i32 0, !30, null} | |
%t29 = load volatile %Object** %r4, !dbg !{i32 340, i32 0, !31, null} | |
%t30 = load volatile i32* %i1, !dbg !{i32 340, i32 0, !31, null} | |
%t31 = call %Object* @"[j]java.util.concurrent.ConcurrentHashMap.entryAt([Ljava/util/concurrent/ConcurrentHashMap$HashEntry;I)Ljava/util/concurrent/ConcurrentHashMap$HashEntry;[Invokestatic(java/util/concurrent/ConcurrentHashMap$Segment)]"(%Env* %p0, %Object* %t29, i32 %t30), !dbg !{i32 340, i32 0, !31, null} | |
store volatile %Object* %t31, %Object** %r5, !dbg !{i32 340, i32 0, !31, null} | |
%t32 = load volatile %Object** %r5, !dbg !{i32 341, i32 0, !32, null} | |
store volatile %Object* %t32, %Object** %r6, !dbg !{i32 341, i32 0, !32, null} | |
br label %label5 | |
BOOH: oldValue | |
call void @"llvm.dbg.declare"(metadata %Object** %r8, metadata !47) | |
label20: | |
call void @"llvm.dbg.declare"(metadata %Object** %r8, metadata !47), !dbg !{i32 372, i32 0, !38, null} | |
%t106 = getelementptr %TrycatchContext* %t0, i32 0, i32 1, !dbg !{i32 372, i32 0, !38, null} | |
store i32 0, i32* %t106, !dbg !{i32 372, i32 0, !38, null} | |
%t107 = load volatile %Object** %r0, !dbg !{i32 372, i32 0, !38, null} | |
call void @"[j]java.util.concurrent.ConcurrentHashMap$Segment.unlock()V[Invokevirtual(java/util/concurrent/ConcurrentHashMap$Segment,java/util/concurrent/ConcurrentHashMap$Segment)]"(%Env* %p0, %Object* %t107), !dbg !{i32 372, i32 0, !38, null} | |
br label %label22, !dbg !{i32 373, i32 0, !38, null} | |
BOOH: index | |
call void @"llvm.dbg.declare"(metadata i32* %i1, metadata !48) | |
label4: | |
%t17 = load volatile %Object** %$r10, !dbg !{i32 334, i32 0, !28, null} | |
store volatile %Object* %t17, %Object** %r3, !dbg !{i32 334, i32 0, !28, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r3, metadata !45), !dbg !{i32 338, i32 0, !29, null} | |
%t18 = getelementptr %TrycatchContext* %t0, i32 0, i32 1, !dbg !{i32 338, i32 0, !29, null} | |
store i32 1, i32* %t18, !dbg !{i32 338, i32 0, !29, null} | |
%t19 = load volatile %Object** %r0, !dbg !{i32 338, i32 0, !29, null} | |
%t20 = call %Object* @"[j]java.util.concurrent.ConcurrentHashMap$Segment.table([Ljava/util/concurrent/ConcurrentHashMap$HashEntry;)[get]"(%Env* %p0, %Object* %t19), !dbg !{i32 338, i32 0, !29, null} | |
store volatile %Object* %t20, %Object** %r4, !dbg !{i32 338, i32 0, !29, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r4, metadata !46), !dbg !{i32 339, i32 0, !30, null} | |
%t21 = load volatile %Object** %r4, !dbg !{i32 339, i32 0, !30, null} | |
%t22 = call i8 @"checknull"(%Env* %p0, %Object* %t21), !dbg !{i32 339, i32 0, !30, null} | |
%t23 = call i32 @"arraylength"(%Object* %t21), !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t23, i32* %$i2, !dbg !{i32 339, i32 0, !30, null} | |
%t25 = load volatile i32* %$i2, !dbg !{i32 339, i32 0, !30, null} | |
%t24 = sub i32 %t25, 1, !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t24, i32* %$i3, !dbg !{i32 339, i32 0, !30, null} | |
%t27 = load volatile i32* %$i3, !dbg !{i32 339, i32 0, !30, null} | |
%t28 = load volatile i32* %i0, !dbg !{i32 339, i32 0, !30, null} | |
%t26 = and i32 %t27, %t28, !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t26, i32* %i1, !dbg !{i32 339, i32 0, !30, null} | |
call void @"llvm.dbg.declare"(metadata i32* %i1, metadata !48), !dbg !{i32 340, i32 0, !31, null} | |
%t29 = load volatile %Object** %r4, !dbg !{i32 340, i32 0, !31, null} | |
%t30 = load volatile i32* %i1, !dbg !{i32 340, i32 0, !31, null} | |
%t31 = call %Object* @"[j]java.util.concurrent.ConcurrentHashMap.entryAt([Ljava/util/concurrent/ConcurrentHashMap$HashEntry;I)Ljava/util/concurrent/ConcurrentHashMap$HashEntry;[Invokestatic(java/util/concurrent/ConcurrentHashMap$Segment)]"(%Env* %p0, %Object* %t29, i32 %t30), !dbg !{i32 340, i32 0, !31, null} | |
store volatile %Object* %t31, %Object** %r5, !dbg !{i32 340, i32 0, !31, null} | |
%t32 = load volatile %Object** %r5, !dbg !{i32 341, i32 0, !32, null} | |
store volatile %Object* %t32, %Object** %r6, !dbg !{i32 341, i32 0, !32, null} | |
br label %label5 | |
BOOH: first | |
call void @"llvm.dbg.declare"(metadata %Object** %r5, metadata !49) | |
label4: | |
%t17 = load volatile %Object** %$r10, !dbg !{i32 334, i32 0, !28, null} | |
store volatile %Object* %t17, %Object** %r3, !dbg !{i32 334, i32 0, !28, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r3, metadata !45), !dbg !{i32 338, i32 0, !29, null} | |
%t18 = getelementptr %TrycatchContext* %t0, i32 0, i32 1, !dbg !{i32 338, i32 0, !29, null} | |
store i32 1, i32* %t18, !dbg !{i32 338, i32 0, !29, null} | |
%t19 = load volatile %Object** %r0, !dbg !{i32 338, i32 0, !29, null} | |
%t20 = call %Object* @"[j]java.util.concurrent.ConcurrentHashMap$Segment.table([Ljava/util/concurrent/ConcurrentHashMap$HashEntry;)[get]"(%Env* %p0, %Object* %t19), !dbg !{i32 338, i32 0, !29, null} | |
store volatile %Object* %t20, %Object** %r4, !dbg !{i32 338, i32 0, !29, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r4, metadata !46), !dbg !{i32 339, i32 0, !30, null} | |
%t21 = load volatile %Object** %r4, !dbg !{i32 339, i32 0, !30, null} | |
%t22 = call i8 @"checknull"(%Env* %p0, %Object* %t21), !dbg !{i32 339, i32 0, !30, null} | |
%t23 = call i32 @"arraylength"(%Object* %t21), !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t23, i32* %$i2, !dbg !{i32 339, i32 0, !30, null} | |
%t25 = load volatile i32* %$i2, !dbg !{i32 339, i32 0, !30, null} | |
%t24 = sub i32 %t25, 1, !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t24, i32* %$i3, !dbg !{i32 339, i32 0, !30, null} | |
%t27 = load volatile i32* %$i3, !dbg !{i32 339, i32 0, !30, null} | |
%t28 = load volatile i32* %i0, !dbg !{i32 339, i32 0, !30, null} | |
%t26 = and i32 %t27, %t28, !dbg !{i32 339, i32 0, !30, null} | |
store volatile i32 %t26, i32* %i1, !dbg !{i32 339, i32 0, !30, null} | |
call void @"llvm.dbg.declare"(metadata i32* %i1, metadata !48), !dbg !{i32 340, i32 0, !31, null} | |
%t29 = load volatile %Object** %r4, !dbg !{i32 340, i32 0, !31, null} | |
%t30 = load volatile i32* %i1, !dbg !{i32 340, i32 0, !31, null} | |
%t31 = call %Object* @"[j]java.util.concurrent.ConcurrentHashMap.entryAt([Ljava/util/concurrent/ConcurrentHashMap$HashEntry;I)Ljava/util/concurrent/ConcurrentHashMap$HashEntry;[Invokestatic(java/util/concurrent/ConcurrentHashMap$Segment)]"(%Env* %p0, %Object* %t29, i32 %t30), !dbg !{i32 340, i32 0, !31, null} | |
store volatile %Object* %t31, %Object** %r5, !dbg !{i32 340, i32 0, !31, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r5, metadata !49), !dbg !{i32 341, i32 0, !32, null} | |
%t32 = load volatile %Object** %r5, !dbg !{i32 341, i32 0, !32, null} | |
store volatile %Object* %t32, %Object** %r6, !dbg !{i32 341, i32 0, !32, null} | |
br label %label5 | |
BOOH: first | |
call void @"llvm.dbg.declare"(metadata %Object** %r5, metadata !50) | |
label5: | |
call void @"llvm.dbg.declare"(metadata %Object** %r5, metadata !50), !dbg !{i32 342, i32 0, !33, null} | |
%t33 = load volatile %Object** %r6, !dbg !{i32 342, i32 0, !33, null} | |
%t34 = icmp eq %Object* %t33, null, !dbg !{i32 342, i32 0, !33, null} | |
br i1 %t34, label %label12, label %label6, !dbg !{i32 342, i32 0, !33, null} | |
BOOH: e | |
call void @"llvm.dbg.declare"(metadata %Object** %r6, metadata !51) | |
label5: | |
call void @"llvm.dbg.declare"(metadata %Object** %r5, metadata !50), !dbg !{i32 342, i32 0, !33, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r6, metadata !51), !dbg !{i32 342, i32 0, !33, null} | |
%t33 = load volatile %Object** %r6, !dbg !{i32 342, i32 0, !33, null} | |
%t34 = icmp eq %Object* %t33, null, !dbg !{i32 342, i32 0, !33, null} | |
br i1 %t34, label %label12, label %label6, !dbg !{i32 342, i32 0, !33, null} | |
BOOH: e | |
call void @"llvm.dbg.declare"(metadata %Object** %r6, metadata !52) | |
label15: | |
%t79 = load volatile %Object** %r0, !dbg !{i32 360, i32 0, !33, null} | |
%t80 = call i32 @"[j]java.util.concurrent.ConcurrentHashMap$Segment.count(I)[get]"(%Env* %p0, %Object* %t79), !dbg !{i32 360, i32 0, !33, null} | |
store volatile i32 %t80, i32* %$i7, !dbg !{i32 360, i32 0, !33, null} | |
%t82 = load volatile i32* %$i7, !dbg !{i32 360, i32 0, !33, null} | |
%t81 = add i32 %t82, 1, !dbg !{i32 360, i32 0, !33, null} | |
store volatile i32 %t81, i32* %i8, !dbg !{i32 360, i32 0, !33, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r6, metadata !52), !dbg !{i32 361, i32 0, !36, null} | |
%t83 = load volatile %Object** %r0, !dbg !{i32 361, i32 0, !36, null} | |
%t84 = call i32 @"[j]java.util.concurrent.ConcurrentHashMap$Segment.threshold(I)[get]"(%Env* %p0, %Object* %t83), !dbg !{i32 361, i32 0, !36, null} | |
store volatile i32 %t84, i32* %$i9, !dbg !{i32 361, i32 0, !36, null} | |
%t85 = load volatile i32* %i8, !dbg !{i32 361, i32 0, !36, null} | |
%t86 = load volatile i32* %$i9, !dbg !{i32 361, i32 0, !36, null} | |
%t87 = icmp sle i32 %t85, %t86, !dbg !{i32 361, i32 0, !36, null} | |
br i1 %t87, label %label18, label %label16, !dbg !{i32 361, i32 0, !36, null} | |
BOOH: k | |
call void @"llvm.dbg.declare"(metadata %Object** %r7, metadata !53) | |
label6: | |
%t35 = load volatile %Object** %r6, !dbg !{i32 344, i32 0, !33, null} | |
%t36 = call %Object* @"[j]java.util.concurrent.ConcurrentHashMap$HashEntry.key(Ljava/lang/Object;)[GetField(java/util/concurrent/ConcurrentHashMap$Segment,java/util/concurrent/ConcurrentHashMap$HashEntry)]"(%Env* %p0, %Object* %t35), !dbg !{i32 344, i32 0, !33, null} | |
store volatile %Object* %t36, %Object** %$r11, !dbg !{i32 344, i32 0, !33, null} | |
%t37 = load volatile %Object** %$r11, !dbg !{i32 344, i32 0, !33, null} | |
store volatile %Object* %t37, %Object** %r7, !dbg !{i32 344, i32 0, !33, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r7, metadata !53), !dbg !{i32 344, i32 0, !34, null} | |
%t38 = load volatile %Object** %$r11, !dbg !{i32 344, i32 0, !34, null} | |
%t39 = load volatile %Object** %r1, !dbg !{i32 344, i32 0, !34, null} | |
%t40 = icmp eq %Object* %t38, %t39, !dbg !{i32 344, i32 0, !34, null} | |
br i1 %t40, label %label9, label %label7, !dbg !{i32 344, i32 0, !34, null} | |
BOOH: oldValue | |
call void @"llvm.dbg.declare"(metadata %Object** %r8, metadata !54) | |
label19: | |
%t97 = load volatile %Object** %r0, !dbg !{i32 365, i32 0, !36, null} | |
store volatile %Object* %t97, %Object** %$r14, !dbg !{i32 365, i32 0, !36, null} | |
%t98 = load volatile %Object** %r0, !dbg !{i32 365, i32 0, !36, null} | |
%t99 = call i32 @"[j]java.util.concurrent.ConcurrentHashMap$Segment.modCount(I)[get]"(%Env* %p0, %Object* %t98), !dbg !{i32 365, i32 0, !36, null} | |
store volatile i32 %t99, i32* %$i11, !dbg !{i32 365, i32 0, !36, null} | |
%t101 = load volatile i32* %$i11, !dbg !{i32 365, i32 0, !36, null} | |
%t100 = add i32 %t101, 1, !dbg !{i32 365, i32 0, !36, null} | |
store volatile i32 %t100, i32* %$i12, !dbg !{i32 365, i32 0, !36, null} | |
%t102 = load volatile i32* %$i12, !dbg !{i32 365, i32 0, !36, null} | |
%t103 = load volatile %Object** %r0, !dbg !{i32 365, i32 0, !36, null} | |
call void @"[j]java.util.concurrent.ConcurrentHashMap$Segment.modCount(I)[set]"(%Env* %p0, %Object* %t103, i32 %t102), !dbg !{i32 365, i32 0, !36, null} | |
%t104 = load volatile i32* %i8, !dbg !{i32 366, i32 0, !36, null} | |
%t105 = load volatile %Object** %r0, !dbg !{i32 366, i32 0, !36, null} | |
call void @"[j]java.util.concurrent.ConcurrentHashMap$Segment.count(I)[set]"(%Env* %p0, %Object* %t105, i32 %t104), !dbg !{i32 366, i32 0, !36, null} | |
store volatile %Object* null, %Object** %r8, !dbg !{i32 367, i32 0, !36, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r8, metadata !54), !dbg !{i32 368, i32 0, !37, null} | |
br label %label20, !dbg !{i32 368, i32 0, !37, null} | |
BOOH: first | |
call void @"llvm.dbg.declare"(metadata %Object** %r5, metadata !55) | |
label19: | |
%t97 = load volatile %Object** %r0, !dbg !{i32 365, i32 0, !36, null} | |
store volatile %Object* %t97, %Object** %$r14, !dbg !{i32 365, i32 0, !36, null} | |
%t98 = load volatile %Object** %r0, !dbg !{i32 365, i32 0, !36, null} | |
%t99 = call i32 @"[j]java.util.concurrent.ConcurrentHashMap$Segment.modCount(I)[get]"(%Env* %p0, %Object* %t98), !dbg !{i32 365, i32 0, !36, null} | |
store volatile i32 %t99, i32* %$i11, !dbg !{i32 365, i32 0, !36, null} | |
%t101 = load volatile i32* %$i11, !dbg !{i32 365, i32 0, !36, null} | |
%t100 = add i32 %t101, 1, !dbg !{i32 365, i32 0, !36, null} | |
store volatile i32 %t100, i32* %$i12, !dbg !{i32 365, i32 0, !36, null} | |
%t102 = load volatile i32* %$i12, !dbg !{i32 365, i32 0, !36, null} | |
%t103 = load volatile %Object** %r0, !dbg !{i32 365, i32 0, !36, null} | |
call void @"[j]java.util.concurrent.ConcurrentHashMap$Segment.modCount(I)[set]"(%Env* %p0, %Object* %t103, i32 %t102), !dbg !{i32 365, i32 0, !36, null} | |
%t104 = load volatile i32* %i8, !dbg !{i32 366, i32 0, !36, null} | |
%t105 = load volatile %Object** %r0, !dbg !{i32 366, i32 0, !36, null} | |
call void @"[j]java.util.concurrent.ConcurrentHashMap$Segment.count(I)[set]"(%Env* %p0, %Object* %t105, i32 %t104), !dbg !{i32 366, i32 0, !36, null} | |
store volatile %Object* null, %Object** %r8, !dbg !{i32 367, i32 0, !36, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r8, metadata !54), !dbg !{i32 368, i32 0, !37, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r5, metadata !55), !dbg !{i32 368, i32 0, !37, null} | |
br label %label20, !dbg !{i32 368, i32 0, !37, null} | |
BOOH: c | |
call void @"llvm.dbg.declare"(metadata i32* %i8, metadata !56) | |
label19: | |
%t97 = load volatile %Object** %r0, !dbg !{i32 365, i32 0, !36, null} | |
store volatile %Object* %t97, %Object** %$r14, !dbg !{i32 365, i32 0, !36, null} | |
%t98 = load volatile %Object** %r0, !dbg !{i32 365, i32 0, !36, null} | |
%t99 = call i32 @"[j]java.util.concurrent.ConcurrentHashMap$Segment.modCount(I)[get]"(%Env* %p0, %Object* %t98), !dbg !{i32 365, i32 0, !36, null} | |
store volatile i32 %t99, i32* %$i11, !dbg !{i32 365, i32 0, !36, null} | |
%t101 = load volatile i32* %$i11, !dbg !{i32 365, i32 0, !36, null} | |
%t100 = add i32 %t101, 1, !dbg !{i32 365, i32 0, !36, null} | |
store volatile i32 %t100, i32* %$i12, !dbg !{i32 365, i32 0, !36, null} | |
%t102 = load volatile i32* %$i12, !dbg !{i32 365, i32 0, !36, null} | |
%t103 = load volatile %Object** %r0, !dbg !{i32 365, i32 0, !36, null} | |
call void @"[j]java.util.concurrent.ConcurrentHashMap$Segment.modCount(I)[set]"(%Env* %p0, %Object* %t103, i32 %t102), !dbg !{i32 365, i32 0, !36, null} | |
%t104 = load volatile i32* %i8, !dbg !{i32 366, i32 0, !36, null} | |
%t105 = load volatile %Object** %r0, !dbg !{i32 366, i32 0, !36, null} | |
call void @"[j]java.util.concurrent.ConcurrentHashMap$Segment.count(I)[set]"(%Env* %p0, %Object* %t105, i32 %t104), !dbg !{i32 366, i32 0, !36, null} | |
store volatile %Object* null, %Object** %r8, !dbg !{i32 367, i32 0, !36, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r8, metadata !54), !dbg !{i32 368, i32 0, !37, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r5, metadata !55), !dbg !{i32 368, i32 0, !37, null} | |
call void @"llvm.dbg.declare"(metadata i32* %i8, metadata !56), !dbg !{i32 368, i32 0, !37, null} | |
br label %label20, !dbg !{i32 368, i32 0, !37, null} | |
BOOH: oldValue | |
call void @"llvm.dbg.declare"(metadata %Object** %r8, metadata !57) | |
label9: | |
%t53 = load volatile %Object** %r6, !dbg !{i32 346, i32 0, !34, null} | |
%t54 = call %Object* @"[j]java.util.concurrent.ConcurrentHashMap$HashEntry.value(Ljava/lang/Object;)[GetField(java/util/concurrent/ConcurrentHashMap$Segment,java/util/concurrent/ConcurrentHashMap$HashEntry)]"(%Env* %p0, %Object* %t53), !dbg !{i32 346, i32 0, !34, null} | |
store volatile %Object* %t54, %Object** %r8, !dbg !{i32 346, i32 0, !34, null} | |
call void @"llvm.dbg.declare"(metadata %Object** %r8, metadata !57), !dbg !{i32 347, i32 0, !35, null} | |
%t55 = load volatile i32* %z0, !dbg !{i32 347, i32 0, !35, null} | |
%t56 = icmp ne i32 %t55, 0, !dbg !{i32 347, i32 0, !35, null} | |
br i1 %t56, label %label20, label %label10, !dbg !{i32 347, i32 0, !35, null} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment