Skip to content

Instantly share code, notes, and snippets.

@badlogic
Created January 19, 2015 17:46
Show Gist options
  • Save badlogic/35c3c2efac1d5d605394 to your computer and use it in GitHub Desktop.
Save badlogic/35c3c2efac1d5d605394 to your computer and use it in GitHub Desktop.
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