- NO SSA
- ======
- penberg@jaguar:~/src/jato$ ./jato -XX:+PrintCompilation -Xtrace:jit -Xtrace:method java/lang/ThreadLocalMap.inherit -cp test/functional jvm/EntryTest
- [unknown] java/lang/ThreadGroup.<clinit> (11 bytes)
- [unknown] java/lang/ThreadGroup.<init> (49 bytes)
- [unknown] java/lang/String.<clinit> (27 bytes)
- [unknown] java/lang/ref/Reference.<clinit> (11 bytes)
- [unknown] java/lang/Object.<init> (1 bytes)
- [unknown] java/lang/String.zeroBasedStringValue (52 bytes)
- [unknown] java/lang/String$CaseInsensitiveComparator.<init> (5 bytes)
- [unknown] java/util/Vector.<init> (8 bytes)
- [unknown] java/util/Vector.<init> (30 bytes)
- [unknown] java/util/AbstractList.<init> (5 bytes)
- [unknown] java/util/AbstractCollection.<init> (5 bytes)
- [(null)] java/lang/Thread.<init> (84 bytes)
- [(null)] java/lang/ThreadLocalMap.<clinit> (12 bytes)
- [(null)] java/lang/ThreadLocalMap$Entry.<init> (6 bytes)
- [(null)] java/lang/ref/WeakReference.<init> (6 bytes)
- [(null)] java/lang/ref/Reference.<init> (10 bytes)
- [(null)] java/lang/ThreadLocalMap.<init> (23 bytes)
- [main] s java/lang/ThreadGroup.addThread (27 bytes)
- [main] java/util/Vector.add (7 bytes)
- [main] s java/util/Vector.addElement (50 bytes)
- [main] java/lang/ThreadLocal.<clinit> (15 bytes)
- [main] java/lang/InheritableThreadLocal.newChildThread (16 bytes)
- [main] java/lang/Thread.currentThread (4 bytes)
- [main] jit_magic_trampoline: ret0=0xa742dfad, ret1=0xa742e785: java/lang/ThreadLocalMap.inherit #8
- [main] java/lang/ThreadLocalMap.inherit (76 bytes)
- [main]
- [main] TRACE: java/lang/ThreadLocalMap.inherit(Ljava/lang/ThreadLocalMap;)V
- [main] Length: 76
- [main] Code:
- [main] [ 0000 ] 2b b4 00 22 59 3a 05 be 36 04 03 3e a7 00 39 19
- [main] [ 0016 ] 05 1d 32 4d 2c c6 00 2d 2c b2 00 1d a5 00 26 2c
- [main] [ 0032 ] b6 00 2a c0 00 2e 3a 06 19 06 c1 00 4a 99 00 15
- [main] [ 0048 ] 2a 19 06 19 06 c0 00 4a 2c b4 00 39 b6 00 4c b6
- [main] [ 0064 ] 00 50 84 03 01 1d 15 04 a1 ff c7 b1
- [main]
- [main]
- [main] Control Flow Graph:
- [main]
- [main] #: DFN Range Successors Predecessors
- [main] 0x8cd9c20 0 0..15 0x8ab23a0 none
- [main] 0x8cd9d30 0 15..24 0x8cd99e0, 0x8af3770 0x8ab23a0
- [main] 0x8cd99e0 0 24..31 0x8cd9b00, 0x8af3770 0x8cd9d30
- [main] 0x8cd9b00 0 31..48 0x8cd21e0, 0x8af3770 0x8cd99e0
- [main] 0x8cd21e0 0 48..66 0x8af3770 0x8cd9b00
- [main] 0x8af3770 0 66..69 0x8ab23a0 0x8cd21e0, 0x8cd9d30, 0x8cd99e0, 0x8cd9b00
- [main] 0x8ab23a0 0 69..75 0x8cd9e50, 0x8cd9d30 0x8af3770, 0x8cd9c20
- [main] 0x8cd9e50 0 75..76 none 0x8ab23a0
- [main]
- [main] High-Level Intermediate Representation (HIR):
- [main]
- [main] [bb 0x8cd9c20]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cc6188 (low)]
- [main] store_src: [local reference 1]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cc61e0 (low)]
- [main] store_src:
- [main] INSTANCE_FIELD:
- [main] vm_type: [reference]
- [main] instance_field: [0x8adbce0 'java/lang/ThreadLocalMap.entries']
- [main] objectref_expression:
- [main] NULL_CHECK:
- [main] ref: [temporary reference 0x8cc6188 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cc6238 (low)]
- [main] store_src: [temporary reference 0x8cc61e0 (low)]
- [main] STORE:
- [main] store_dest: [local reference 5]
- [main] store_src: [temporary reference 0x8cc6238 (low)]
- [main] STORE:
- [main] store_dest: [local int 4]
- [main] store_src:
- [main] ARRAYLENGTH:
- [main] vm_type: [int]
- [main] arraylength_ref:
- [main] NULL_CHECK:
- [main] ref: [temporary reference 0x8cc61e0 (low)]
- [main] STORE:
- [main] store_dest: [local int 3]
- [main] store_src: [value int 0x0]
- [main] GOTO:
- [main] goto_target: [bb 0x8ab23a0]
- [main]
- [main] [bb 0x8cd9d30]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd65c0 (low)]
- [main] store_src: [local reference 5]
- [main] STORE:
- [main] store_dest: [temporary int 0x8cd6618 (low)]
- [main] store_src: [local int 3]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd6670 (low)]
- [main] store_src:
- [main] NULL_CHECK:
- [main] ref: [temporary reference 0x8cd65c0 (low)]
- [main] ARRAY_CHECK:
- [main] expression:
- [main] ARRAY_DEREF:
- [main] vm_type: [reference]
- [main] arrayref: [temporary reference 0x8cd6670 (low)]
- [main] array_index: [temporary int 0x8cd6618 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd2080 (low)]
- [main] store_src:
- [main] ARRAY_DEREF:
- [main] vm_type: [reference]
- [main] arrayref: [temporary reference 0x8cd6670 (low)]
- [main] array_index: [temporary int 0x8cd6618 (low)]
- [main] STORE:
- [main] store_dest: [local reference 2]
- [main] store_src: [temporary reference 0x8cd2080 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd20d8 (low)]
- [main] store_src: [local reference 2]
- [main] IF:
- [main] if_conditional:
- [main] BINOP:
- [main] vm_type: [int]
- [main] binary_operator: [eq]
- [main] binary_left: [temporary reference 0x8cd20d8 (low)]
- [main] binary_right: [value int 0x0]
- [main] if_true: [bb 0x8af3770]
- [main]
- [main] [bb 0x8cd99e0]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd3b20 (low)]
- [main] store_src: [local reference 2]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd3b78 (low)]
- [main] store_src: [class_field reference 0x8adbcb4 'java/lang/ThreadLocalMap.deletedEntry']
- [main] IF:
- [main] if_conditional:
- [main] BINOP:
- [main] vm_type: [reference]
- [main] binary_operator: [eq]
- [main] binary_left: [temporary reference 0x8cd3b20 (low)]
- [main] binary_right: [temporary reference 0x8cd3b78 (low)]
- [main] if_true: [bb 0x8af3770]
- [main]
- [main] [bb 0x8cd9b00]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd3bd0 (low)]
- [main] store_src: [local reference 2]
- [main] INVOKEVIRTUAL:
- [main] target_method: [0x8b93d5c 'java/lang/ref/Reference.get()Ljava/lang/Object;' (15)]
- [main] args_list:
- [main] ARG_THIS:
- [main] arg_expression: [temporary reference 0x8cd3bd0 (low)]
- [main] result: [temporary reference 0x8cd08b8 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd0910 (low)]
- [main] store_src: [temporary reference 0x8cd08b8 (low)]
- [main] CHECKCAST:
- [main] checkcast_type: [0x8a47410 'java/lang/ThreadLocal']
- [main] checkcast_ref: [temporary reference 0x8cd0910 (low)]
- [main] STORE:
- [main] store_dest: [local reference 6]
- [main] store_src: [temporary reference 0x8cd0910 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd3498 (low)]
- [main] store_src: [local reference 6]
- [main] IF:
- [main] if_conditional:
- [main] BINOP:
- [main] vm_type: [int]
- [main] binary_operator: [eq]
- [main] binary_left:
- [main] INSTANCEOF:
- [main] vm_type: [int]
- [main] instanceof_class: [0x8a474e0 'java/lang/InheritableThreadLocal']
- [main] instanceof_ref: [temporary reference 0x8cd3498 (low)]
- [main] binary_right: [value int 0x0]
- [main] if_true: [bb 0x8af3770]
- [main]
- [main] [bb 0x8cd21e0]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd34f0 (low)]
- [main] store_src: [local reference 0]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd3548 (low)]
- [main] store_src: [local reference 6]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd3770 (low)]
- [main] store_src: [local reference 6]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cd37c8 (low)]
- [main] store_src: [temporary reference 0x8cd3770 (low)]
- [main] CHECKCAST:
- [main] checkcast_type: [0x8a474e0 'java/lang/InheritableThreadLocal']
- [main] checkcast_ref: [temporary reference 0x8cd37c8 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cdb3b8 (low)]
- [main] store_src: [local reference 2]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8cdb410 (low)]
- [main] store_src:
- [main] INSTANCE_FIELD:
- [main] vm_type: [reference]
- [main] instance_field: [0x8a439c0 'java/lang/ThreadLocalMap$Entry.value']
- [main] objectref_expression:
- [main] NULL_CHECK:
- [main] ref: [temporary reference 0x8cdb3b8 (low)]
- [main] INVOKEVIRTUAL:
- [main] target_method: [0x8a44674 'java/lang/InheritableThreadLocal.childValue(Ljava/lang/Object;)Ljava/lang/Object;' (18)]
- [main] args_list:
- [main] ARGS_LIST:
- [main] args_left:
- [main] ARG:
- [main] arg_expression: [temporary reference 0x8cdb410 (low)]
- [main] args_right:
- [main] ARG_THIS:
- [main] arg_expression: [temporary reference 0x8cd37c8 (low)]
- [main] result: [temporary reference 0x8cdb468 (low)]
- [main] INVOKEVIRTUAL:
- [main] target_method: [0x8ce1a44 'java/lang/ThreadLocalMap.set(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V' (16)]
- [main] args_list:
- [main] ARGS_LIST:
- [main] args_left:
- [main] ARGS_LIST:
- [main] args_left:
- [main] ARG:
- [main] arg_expression: [temporary reference 0x8cdb468 (low)]
- [main] args_right:
- [main] ARG:
- [main] arg_expression: [temporary reference 0x8cd3548 (low)]
- [main] args_right:
- [main] ARG_THIS:
- [main] arg_expression: [temporary reference 0x8cd34f0 (low)]
- [main] result: [void]
- [main]
- [main] [bb 0x8af3770]:
- [main]
- [main] STORE:
- [main] store_dest: [local int 3]
- [main] store_src:
- [main] BINOP:
- [main] vm_type: [int]
- [main] binary_operator: [add]
- [main] binary_left: [local int 3]
- [main] binary_right: [value int 0x1]
- [main]
- [main] [bb 0x8ab23a0]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary int 0x8af09c0 (low)]
- [main] store_src: [local int 3]
- [main] STORE:
- [main] store_dest: [temporary int 0x8af0a18 (low)]
- [main] store_src: [local int 4]
- [main] IF:
- [main] if_conditional:
- [main] BINOP:
- [main] vm_type: [int]
- [main] binary_operator: [lt]
- [main] binary_left: [temporary int 0x8af09c0 (low)]
- [main] binary_right: [temporary int 0x8af0a18 (low)]
- [main] if_true: [bb 0x8cd9d30]
- [main]
- [main] [bb 0x8cd9e50]:
- [main]
- [main] VOID_RETURN
- [main]
- [main] Low-Level Intermediate Representation (LIR):
- [main]
- [main] Bytecode LIR
- [main] offset offset Instruction Operands
- [main] --------- ------- ----------- --------
- [main] [bb 0x8cd9c20]:
- [main] [ 0 ] 0: mov_memlocal_reg @1(bp), r16
- [main] [ 1 ] 2: test_membase_reg $0x0(r16), r16
- [main] [ 1 ] 4: mov_membase_reg $0x8(r16), r39
- [main] [ 1 ] 6: mov_reg_reg r39, r17
- [main] [ 4 ] 8: mov_reg_reg r17, r18
- [main] [ 5 ] 10: mov_reg_memlocal r18, @5(bp)
- [main] [ 7 ] 12: test_membase_reg $0x0(r17), r17
- [main] [ 7 ] 14: mov_membase_reg $0x8(r17), r40
- [main] [ 8 ] 16: mov_reg_memlocal r40, @4(bp)
- [main] [ 10 ] 18: mov_imm_reg $0x0, r41
- [main] [ 11 ] 20: mov_reg_memlocal r41, @3(bp)
- [main] [ 12 ] 22: jmp_branch bb 0x8ab23a0
- [main] [bb 0x8cd9d30]:
- [main] [ 15 ] 24: mov_memlocal_reg @5(bp), r21
- [main] [ 17 ] 26: mov_memlocal_reg @3(bp), r22
- [main] [ 18 ] 28: test_membase_reg $0x0(r21), r21
- [main] [ 18 ] 30: mov_reg_reg r21, r23
- [main] [ 18 ] 32: mov_reg_reg r23, r42
- [main] [ 18 ] 34: mov_reg_reg r22, r43
- [main] [ 18 ] 36: push_reg r43
- [main] [ 18 ] 38: push_reg r42
- [main] [ 18 ] 40: call_rel $0x806f7e2
- [main] [ 18 ] 42: add_imm_reg $0x8, r15=ESP
- [main] [ 18 ] 44: mov_tlmemdisp_reg gs:($0xffffb7c0), r44
- [main] [ 18 ] 46: test_membase_reg $0x0(r44), r44
- [main] [ 18 ] 48: mov_reg_reg r23, r45
- [main] [ 18 ] 50: add_imm_reg $0xc, r45
- [main] [ 18 ] 52: mov_memindex_reg (r45, r22, 2), r24
- [main] [ 19 ] 54: mov_reg_memlocal r24, @2(bp)
- [main] [ 20 ] 56: mov_memlocal_reg @2(bp), r25
- [main] [ 21 ] 58: cmp_imm_reg $0x0, r25
- [main] [ 21 ] 60: je_branch bb 0x8af3770
- [main] [bb 0x8cd99e0]:
- [main] [ 24 ] 62: mov_memlocal_reg @2(bp), r26
- [main] [ 25 ] 64: mov_memdisp_reg ($0x8960e58), r46
- [main] [ 25 ] 66: mov_reg_reg r46, r27
- [main] [ 28 ] 68: cmp_reg_reg r27, r26
- [main] [ 28 ] 70: je_branch bb 0x8af3770
- [main] [bb 0x8cd9b00]:
- [main] [ 31 ] 72: mov_memlocal_reg @2(bp), r28
- [main] [ 32 ] 74: push_reg r28
- [main] [ 32 ] 76: test_imm_memdisp $0x0, ($0x891b000)
- [main] [ 32 ] 78: ic_call r28, $0x8b93d5c<get>
- [main] [ 32 ] 80: mov_reg_reg r0=EAX, r29
- [main] [ 32 ] 82: add_imm_reg $0x4, r15=ESP
- [main] [ 35 ] 84: mov_reg_reg r29, r30
- [main] [ 35 ] 86: push_imm $0x8a47410
- [main] [ 35 ] 88: push_reg r30
- [main] [ 35 ] 90: call_rel $0x806f98e
- [main] [ 35 ] 92: add_imm_reg $0x8, r15=ESP
- [main] [ 35 ] 94: mov_tlmemdisp_reg gs:($0xffffb7c0), r47
- [main] [ 35 ] 96: test_membase_reg $0x0(r47), r47
- [main] [ 38 ] 98: mov_reg_memlocal r30, @6(bp)
- [main] [ 40 ] 100: mov_memlocal_reg @6(bp), r31
- [main] [ 42 ] 102: push_imm $0x8a474e0
- [main] [ 42 ] 104: push_reg r31
- [main] [ 42 ] 106: call_rel $0x806f6dc
- [main] [ 42 ] 108: mov_reg_reg r0=EAX, r48
- [main] [ 42 ] 110: add_imm_reg $0x8, r15=ESP
- [main] [ 42 ] 112: mov_tlmemdisp_reg gs:($0xffffb7c0), r49
- [main] [ 42 ] 114: test_membase_reg $0x0(r49), r49
- [main] [ 45 ] 116: cmp_imm_reg $0x0, r48
- [main] [ 45 ] 118: je_branch bb 0x8af3770
- [main] [bb 0x8cd21e0]:
- [main] [ 48 ] 120: mov_memlocal_reg @0(bp), r32
- [main] [ 49 ] 122: mov_memlocal_reg @6(bp), r33
- [main] [ 51 ] 124: mov_memlocal_reg @6(bp), r34
- [main] [ 53 ] 126: mov_reg_reg r34, r35
- [main] [ 53 ] 128: push_imm $0x8a474e0
- [main] [ 53 ] 130: push_reg r35
- [main] [ 53 ] 132: call_rel $0x806f98e
- [main] [ 53 ] 134: add_imm_reg $0x8, r15=ESP
- [main] [ 53 ] 136: mov_tlmemdisp_reg gs:($0xffffb7c0), r50
- [main] [ 53 ] 138: test_membase_reg $0x0(r50), r50
- [main] [ 56 ] 140: mov_memlocal_reg @2(bp), r36
- [main] [ 57 ] 142: test_membase_reg $0x0(r36), r36
- [main] [ 57 ] 144: mov_membase_reg $0x18(r36), r51
- [main] [ 57 ] 146: mov_reg_reg r51, r37
- [main] [ 60 ] 148: push_reg r37
- [main] [ 60 ] 150: push_reg r35
- [main] [ 60 ] 152: test_imm_memdisp $0x0, ($0x891b000)
- [main] [ 60 ] 154: ic_call r35, $0x8a44674<childValue>
- [main] [ 60 ] 156: mov_reg_reg r0=EAX, r38
- [main] [ 60 ] 158: add_imm_reg $0x8, r15=ESP
- [main] [ 63 ] 160: push_reg r38
- [main] [ 63 ] 162: push_reg r33
- [main] [ 63 ] 164: push_reg r32
- [main] [ 63 ] 166: test_imm_memdisp $0x0, ($0x891b000)
- [main] [ 63 ] 168: ic_call r32, $0x8ce1a44<set>
- [main] [ 63 ] 170: add_imm_reg $0xc, r15=ESP
- [main] [bb 0x8af3770]:
- [main] [ 66 ] 172: mov_memlocal_reg @3(bp), r52
- [main] [ 66 ] 174: add_imm_reg $0x1, r52
- [main] [ 66 ] 176: mov_reg_memlocal r52, @3(bp)
- [main] [bb 0x8ab23a0]:
- [main] [ 69 ] 178: mov_memlocal_reg @3(bp), r19
- [main] [ 70 ] 180: mov_memlocal_reg @4(bp), r20
- [main] [ 72 ] 182: cmp_reg_reg r20, r19
- [main] [ 72 ] 184: jl_branch bb 0x8cd9d30
- [main] [bb 0x8cd9e50]:
- [main] [ 75 ] 186: jmp_branch bb 0x8cc5fc8
- [main]
- [main] Liveness:
- [main]
- [main] Legend: (U) In use, (-) Fixed register, (*) Non-fixed register
- [main]
- [main] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
- [main] 13: --- --- --- --- --- --- --- (start: 41, end: 170)
- [main] 12: --- --- --- --- --- --- --- (start: 41, end: 170)
- [main] 11: --- --- --- --- --- --- --- (start: 41, end: 170)
- [main] 10: --- --- --- --- --- --- --- (start: 41, end: 170)
- [main] 9: --- --- --- --- --- --- --- (start: 41, end: 170)
- [main] 8: --- --- --- --- --- --- --- (start: 41, end: 170)
- [main] 7: --- --- --- --- --- --- --- (start: 41, end: 170)
- [main] 6: --- --- --- --- --- --- --- (start: 41, end: 170)
- [main] 52: UUUUUUUUUUUU (start: 173, end: 177)
- [main] 51: UUUUUU (start: 145, end: 147)
- [main] 50: UUUUUU (start: 137, end: 139)
- [main] 49: UUUUUU (start: 113, end: 115)
- [main] 48: UUU******************UUU (start: 109, end: 117)
- [main] 47: UUUUUU (start: 95, end: 97)
- [main] 46: UUUUUU (start: 65, end: 67)
- [main] 45: UUUUUUUUUUUU (start: 49, end: 53)
- [main] 44: UUUUUU (start: 45, end: 47)
- [main] 43: UUUUUU (start: 35, end: 37)
- [main] 42: UUU************UUU (start: 33, end: 39)
- [main] 41: UUUUUU (start: 19, end: 21)
- [main] 40: UUUUUU (start: 15, end: 17)
- [main] 39: UUUUUU (start: 5, end: 7)
- [main] 2: --- --- --- --- --- --- --- (start: 41, end: 170)
- [main] 1: --- --------------------------------------- --- --- --------------------------------------------------- (start: 41, end: 172)
- [main] 0: --- ---UUU---------------------------------------------------------------------------------UUU --- ---UUU --------- (start: 41, end: 172)
- [main] 15: ------------------------------------------------------------------------------------------------------------------------------UUUUUU------------------------------------------------------------------------------------------------------------------UUUUUU------------------------UUUUUU------------------------------------------------UUUUUU------------------------------------------------------------------UUUUUU------------------------------------------------------------------UUUUUU------------------------------UUUUUU------------------------------------------ (start: 0, end: 186)
- [main] 14: (empty)
- [main] 38: UUU******UUU (start: 157, end: 161)
- [main] 37: UUUUUU (start: 147, end: 149)
- [main] 36: UUUUUU***UUU (start: 141, end: 145)
- [main] 35: UUU******UUU*********************************************************UUU*********UUU (start: 127, end: 155)
- [main] 34: UUUUUU (start: 125, end: 127)
- [main] 33: UUU******************************************************************************************************************UUU (start: 123, end: 163)
- [main] 32: UUU******************************************************************************************************************************UUU*********UUU (start: 121, end: 169)
- [main] 31: UUU******UUU (start: 101, end: 105)
- [main] 30: UUU******UUU***************************UUU (start: 85, end: 99)
- [main] 29: UUU******UUU (start: 81, end: 85)
- [main] 28: UUUUUU*********UUU (start: 73, end: 79)
- [main] 27: UUUUUU (start: 67, end: 69)
- [main] 26: UUU************UUU (start: 63, end: 69)
- [main] 25: UUUUUU (start: 57, end: 59)
- [main] 24: UUUUUU (start: 53, end: 55)
- [main] 23: UUUUUU*********************************************UUU (start: 31, end: 49)
- [main] 22: UUU******************UUU***************************************************UUU (start: 27, end: 53)
- [main] 21: UUU******UUU***UUU (start: 25, end: 31)
- [main] 20: UUUUUU (start: 181, end: 183)
- [main] 19: UUU******UUU (start: 179, end: 183)
- [main] 18: UUUUUU (start: 9, end: 11)
- [main] 17: UUUUUU*********UUU***UUU (start: 7, end: 15)
- [main] 16: UUUUUU***UUU (start: 1, end: 5)
- [main]
- [main] [bb 0x8cd9c20]
- [main] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
- [main] live in: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main] uses: ---------------------------------------------------------------------------------------------------------------------------------------------------------------
- [main] defines: ------------------------------------------------*********------------------------------------------------------------*********---------------------------------
- [main] live out: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main]
- [main] [bb 0x8cd9d30]
- [main] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
- [main] live in: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main] uses: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main] defines: ---------------------------------------------***---------------***************------------------------------------------------************---------------------
- [main] live out: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main]
- [main] [bb 0x8cd99e0]
- [main] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
- [main] live in: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main] uses: ---------------------------------------------------------------------------------------------------------------------------------------------------------------
- [main] defines: ------------------------------------------------------------------------------******------------------------------------------------------***------------------
- [main] live out: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main]
- [main] [bb 0x8cd9b00]
- [main] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
- [main] live in: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main] uses: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main] defines: ******---------------------------------------***------------------------------------************---------------------------------------------*********---------
- [main] live out: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main]
- [main] [bb 0x8cd21e0]
- [main] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
- [main] live in: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main] uses: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main] defines: ******---------------------------------------***------------------------------------------------*********************---------------------------------******---
- [main] live out: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main]
- [main] [bb 0x8af3770]
- [main] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
- [main] live in: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main] uses: ---------------------------------------------------------------------------------------------------------------------------------------------------------------
- [main] defines: ------------------------------------------------------------------------------------------------------------------------------------------------------------***
- [main] live out: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main]
- [main] [bb 0x8ab23a0]
- [main] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
- [main] live in: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main] uses: ---------------------------------------------------------------------------------------------------------------------------------------------------------------
- [main] defines: ---------------------------------------------------------******------------------------------------------------------------------------------------------------
- [main] live out: ---------------------------------------------***---------------------------------------------------------------------------------------------------------------
- [main]
- [main] [bb 0x8cd9e50]
- [main] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
- [main] live in: ---------------------------------------------------------------------------------------------------------------------------------------------------------------
- [main] uses: ---------------------------------------------------------------------------------------------------------------------------------------------------------------
- [main] defines: ---------------------------------------------------------------------------------------------------------------------------------------------------------------
- [main] live out: ---------------------------------------------------------------------------------------------------------------------------------------------------------------
- [main]
- [main]
- [main] Register Allocation:
- [main]
- [main] 13 (pos: 41-170): XMM7 J_INT fixed no spill no reload
- [main] 12 (pos: 41-170): XMM6 J_INT fixed no spill no reload
- [main] 11 (pos: 41-170): XMM5 J_INT fixed no spill no reload
- [main] 10 (pos: 41-170): XMM4 J_INT fixed no spill no reload
- [main] 9 (pos: 41-170): XMM3 J_INT fixed no spill no reload
- [main] 8 (pos: 41-170): XMM2 J_INT fixed no spill no reload
- [main] 7 (pos: 41-170): XMM1 J_INT fixed no spill no reload
- [main] 6 (pos: 41-170): XMM0 J_INT fixed no spill no reload
- [main] 52 (pos: 173-177): EDI J_INT non-fixed no spill no reload
- [main] 51 (pos: 145-147): EDX J_INT non-fixed no spill no reload
- [main] 50 (pos: 137-139): EDX J_INT non-fixed no spill no reload
- [main] 49 (pos: 113-115): ESI J_INT non-fixed no spill no reload
- [main] 48 (pos: 109-117): EDI J_INT non-fixed no spill no reload
- [main] 47 (pos: 95- 97): ESI J_INT non-fixed no spill no reload
- [main] 46 (pos: 65- 67): ESI J_INT non-fixed no spill no reload
- [main] 45 (pos: 49- 53): EDI J_INT non-fixed no spill no reload
- [main] 44 (pos: 45- 47): EBX J_INT non-fixed no spill no reload
- [main] 43 (pos: 35- 37): EDX J_INT non-fixed no spill no reload
- [main] 42 (pos: 33- 39): EBX J_INT non-fixed no spill no reload
- [main] 41 (pos: 19- 21): EDI J_INT non-fixed no spill no reload
- [main] 40 (pos: 15- 17): EDI J_INT non-fixed no spill no reload
- [main] 39 (pos: 5- 7): EDI J_INT non-fixed no spill no reload
- [main] 2 (pos: 41-170): EDX J_INT fixed no spill no reload
- [main] 1 (pos: 41-172): ECX J_INT fixed no spill no reload
- [main] 0 (pos: 41-172): EAX J_INT fixed no spill no reload
- [main] 15 (pos: 0-186): ESP J_INT fixed no spill no reload
- [main] 14 (empty) : EBP J_INT fixed no spill no reload
- [main] 38 (pos: 157-161): EBX J_REFERENCE non-fixed no spill no reload
- [main] 37 (pos: 147-149): EDX J_REFERENCE non-fixed no spill no reload
- [main] 36 (pos: 141-145): EDX J_REFERENCE non-fixed no spill no reload
- [main] 35 (pos: 127-155): EBX J_REFERENCE non-fixed no spill no reload
- [main] 34 (pos: 125-127): EBX J_REFERENCE non-fixed no spill no reload
- [main] 33 (pos: 123-163): ESI J_REFERENCE non-fixed no spill no reload
- [main] 32 (pos: 121-169): EDI J_REFERENCE non-fixed no spill no reload
- [main] 31 (pos: 101-105): EDI J_REFERENCE non-fixed no spill no reload
- [main] 30 (pos: 85- 99): EDI J_REFERENCE non-fixed no spill no reload
- [main] 29 (pos: 81- 85): EDI J_REFERENCE non-fixed no spill no reload
- [main] 28 (pos: 73- 79): EDI J_REFERENCE non-fixed no spill no reload
- [main] 27 (pos: 67- 69): ESI J_REFERENCE non-fixed no spill no reload
- [main] 26 (pos: 63- 69): EDI J_REFERENCE non-fixed no spill no reload
- [main] 25 (pos: 57- 59): EDI J_REFERENCE non-fixed no spill no reload
- [main] 24 (pos: 53- 55): EDI J_REFERENCE non-fixed no spill no reload
- [main] 23 (pos: 31- 49): EDI J_REFERENCE non-fixed no spill no reload
- [main] 22 (pos: 27- 53): ESI J_INT non-fixed no spill no reload
- [main] 21 (pos: 25- 31): EDI J_REFERENCE non-fixed no spill no reload
- [main] 20 (pos: 181-183): ESI J_INT non-fixed no spill no reload
- [main] 19 (pos: 179-183): EDI J_INT non-fixed no spill no reload
- [main] 18 (pos: 9- 11): ESI J_REFERENCE non-fixed no spill no reload
- [main] 17 (pos: 7- 15): EDI J_REFERENCE non-fixed no spill no reload
- [main] 16 (pos: 1- 5): EDI J_REFERENCE non-fixed no spill no reload
- [main]
- [main] Disassembler Listing:
- [main]
- [main] [ ? ] 0xa742e830: 39 c1 cmp %eax,%ecx
- [main] [ ? ] 0xa742e832: 0f 85 8c 01 00 00 jne 0x00000000a742e9c4
- [main] [ ? ] 0xa742e838: 57 push %edi
- [main] [ ? ] 0xa742e839: 56 push %esi
- [main] [ ? ] 0xa742e83a: 53 push %ebx
- [main] [ ? ] 0xa742e83b: 55 push %ebp
- [main] [ ? ] 0xa742e83c: 89 e5 mov %esp,%ebp
- [main] [ ? ] 0xa742e83e: 83 ec 60 sub $0x60,%esp
- [main] [ 0 ] 0xa742e841: 8b 7d 18 mov 0x18(%ebp),%edi
- [main] [ 1 ] 0xa742e844: 85 3f test %edi,(%edi)
- [main] [ 1 ] 0xa742e846: 8b 7f 08 mov 0x8(%edi),%edi
- [main] [ 1 ] 0xa742e849: 89 ff mov %edi,%edi
- [main] [ 4 ] 0xa742e84b: 89 fe mov %edi,%esi
- [main] [ 5 ] 0xa742e84d: 89 75 f0 mov %esi,-0x10(%ebp)
- [main] [ 7 ] 0xa742e850: 85 3f test %edi,(%edi)
- [main] [ 7 ] 0xa742e852: 8b 7f 08 mov 0x8(%edi),%edi
- [main] [ 8 ] 0xa742e855: 89 7d f4 mov %edi,-0xc(%ebp)
- [main] [ 10 ] 0xa742e858: bf 00 00 00 00 mov $0x0,%edi
- [main] [ 11 ] 0xa742e85d: 89 7d f8 mov %edi,-0x8(%ebp)
- [main] [ 12 ] 0xa742e860: e9 3a 01 00 00 jmp 0x00000000a742e99f
- [main] [ 12 ] 0xa742e865: 90 nop
- [main] [ 15 ] 0xa742e866: 8b 7d f0 mov -0x10(%ebp),%edi
- [main] [ 17 ] 0xa742e869: 8b 75 f8 mov -0x8(%ebp),%esi
- [main] [ 18 ] 0xa742e86c: 85 3f test %edi,(%edi)
- [main] [ 18 ] 0xa742e86e: 89 ff mov %edi,%edi
- [main] [ 18 ] 0xa742e870: 89 fb mov %edi,%ebx
- [main] [ 18 ] 0xa742e872: 89 f2 mov %esi,%edx
- [main] [ 18 ] 0xa742e874: 52 push %edx
- [main] [ 18 ] 0xa742e875: 53 push %ebx
- [main] [ 18 ] 0xa742e876: e8 67 0f c4 60 call 0x000000000806f7e2
- [main] [ 18 ] 0xa742e87b: 81 c4 08 00 00 00 add $0x8,%esp
- [main] [ 18 ] 0xa742e881: 65 8b 1d c0 b7 ff ff mov %gs:0xffffb7c0,%ebx
- [main] [ 18 ] 0xa742e888: 85 1b test %ebx,(%ebx)
- [main] [ 18 ] 0xa742e88a: 89 ff mov %edi,%edi
- [main] [ 18 ] 0xa742e88c: 81 c7 0c 00 00 00 add $0xc,%edi
- [main] [ 18 ] 0xa742e892: 8b 3c b7 mov (%edi,%esi,4),%edi
- [main] [ 19 ] 0xa742e895: 89 7d fc mov %edi,-0x4(%ebp)
- [main] [ 20 ] 0xa742e898: 8b 7d fc mov -0x4(%ebp),%edi
- [main] [ 21 ] 0xa742e89b: 81 ff 00 00 00 00 cmp $0x0,%edi
- [main] [ 21 ] 0xa742e8a1: 0f 84 eb 00 00 00 je 0x00000000a742e992
- [main] [ 21 ] 0xa742e8a7: 90 nop
- [main] [ 24 ] 0xa742e8a8: 8b 7d fc mov -0x4(%ebp),%edi
- [main] [ 25 ] 0xa742e8ab: 8b 35 58 0e 96 08 mov 0x8960e58,%esi
- [main] [ 25 ] 0xa742e8b1: 89 f6 mov %esi,%esi
- [main] [ 28 ] 0xa742e8b3: 39 f7 cmp %esi,%edi
- [main] [ 28 ] 0xa742e8b5: 0f 84 d7 00 00 00 je 0x00000000a742e992
- [main] [ 28 ] 0xa742e8bb: 90 nop
- [main] [ 31 ] 0xa742e8bc: 8b 7d fc mov -0x4(%ebp),%edi
- [main] [ 32 ] 0xa742e8bf: 57 push %edi
- [main] [ 32 ] 0xa742e8c0: f6 04 25 00 b0 91 08 00 testb $0x0,0x891b000(,%eiz,1)
- [main] [ 32 ] 0xa742e8c8: 8b 0f mov (%edi),%ecx
- [main] [ 32 ] 0xa742e8ca: b8 5c 3d b9 08 mov $0x8b93d5c,%eax
- [main] [ 32 ] 0xa742e8cf: e8 3c 91 c5 60 call 0x0000000008087a10
- [main] [ 32 ] 0xa742e8d4: 89 c7 mov %eax,%edi
- [main] [ 32 ] 0xa742e8d6: 81 c4 04 00 00 00 add $0x4,%esp
- [main] [ 35 ] 0xa742e8dc: 89 ff mov %edi,%edi
- [main] [ 35 ] 0xa742e8de: 68 10 74 a4 08 push $0x8a47410
- [main] [ 35 ] 0xa742e8e3: 57 push %edi
- [main] [ 35 ] 0xa742e8e4: e8 a5 10 c4 60 call 0x000000000806f98e
- [main] [ 35 ] 0xa742e8e9: 81 c4 08 00 00 00 add $0x8,%esp
- [main] [ 35 ] 0xa742e8ef: 65 8b 35 c0 b7 ff ff mov %gs:0xffffb7c0,%esi
- [main] [ 35 ] 0xa742e8f6: 85 36 test %esi,(%esi)
- [main] [ 38 ] 0xa742e8f8: 89 7d ec mov %edi,-0x14(%ebp)
- [main] [ 40 ] 0xa742e8fb: 8b 7d ec mov -0x14(%ebp),%edi
- [main] [ 42 ] 0xa742e8fe: 68 e0 74 a4 08 push $0x8a474e0
- [main] [ 42 ] 0xa742e903: 57 push %edi
- [main] [ 42 ] 0xa742e904: e8 d3 0d c4 60 call 0x000000000806f6dc
- [main] [ 42 ] 0xa742e909: 89 c7 mov %eax,%edi
- [main] [ 42 ] 0xa742e90b: 81 c4 08 00 00 00 add $0x8,%esp
- [main] [ 42 ] 0xa742e911: 65 8b 35 c0 b7 ff ff mov %gs:0xffffb7c0,%esi
- [main] [ 42 ] 0xa742e918: 85 36 test %esi,(%esi)
- [main] [ 45 ] 0xa742e91a: 81 ff 00 00 00 00 cmp $0x0,%edi
- [main] [ 45 ] 0xa742e920: 0f 84 6c 00 00 00 je 0x00000000a742e992
- [main] [ 45 ] 0xa742e926: 90 nop
- [main] [ 48 ] 0xa742e927: 8b 7d 14 mov 0x14(%ebp),%edi
- [main] [ 49 ] 0xa742e92a: 8b 75 ec mov -0x14(%ebp),%esi
- [main] [ 51 ] 0xa742e92d: 8b 5d ec mov -0x14(%ebp),%ebx
- [main] [ 53 ] 0xa742e930: 89 db mov %ebx,%ebx
- [main] [ 53 ] 0xa742e932: 68 e0 74 a4 08 push $0x8a474e0
- [main] [ 53 ] 0xa742e937: 53 push %ebx
- [main] [ 53 ] 0xa742e938: e8 51 10 c4 60 call 0x000000000806f98e
- [main] [ 53 ] 0xa742e93d: 81 c4 08 00 00 00 add $0x8,%esp
- [main] [ 53 ] 0xa742e943: 65 8b 15 c0 b7 ff ff mov %gs:0xffffb7c0,%edx
- [main] [ 53 ] 0xa742e94a: 85 12 test %edx,(%edx)
- [main] [ 56 ] 0xa742e94c: 8b 55 fc mov -0x4(%ebp),%edx
- [main] [ 57 ] 0xa742e94f: 85 12 test %edx,(%edx)
- [main] [ 57 ] 0xa742e951: 8b 52 18 mov 0x18(%edx),%edx
- [main] [ 57 ] 0xa742e954: 89 d2 mov %edx,%edx
- [main] [ 60 ] 0xa742e956: 52 push %edx
- [main] [ 60 ] 0xa742e957: 53 push %ebx
- [main] [ 60 ] 0xa742e958: f6 04 25 00 b0 91 08 00 testb $0x0,0x891b000(,%eiz,1)
- [main] [ 60 ] 0xa742e960: 8b 0b mov (%ebx),%ecx
- [main] [ 60 ] 0xa742e962: b8 74 46 a4 08 mov $0x8a44674,%eax
- [main] [ 60 ] 0xa742e967: e8 a4 90 c5 60 call 0x0000000008087a10
- [main] [ 60 ] 0xa742e96c: 89 c3 mov %eax,%ebx
- [main] [ 60 ] 0xa742e96e: 81 c4 08 00 00 00 add $0x8,%esp
- [main] [ 63 ] 0xa742e974: 53 push %ebx
- [main] [ 63 ] 0xa742e975: 56 push %esi
- [main] [ 63 ] 0xa742e976: 57 push %edi
- [main] [ 63 ] 0xa742e977: f6 04 25 00 b0 91 08 00 testb $0x0,0x891b000(,%eiz,1)
- [main] [ 63 ] 0xa742e97f: 8b 0f mov (%edi),%ecx
- [main] [ 63 ] 0xa742e981: b8 44 1a ce 08 mov $0x8ce1a44,%eax
- [main] [ 63 ] 0xa742e986: e8 85 90 c5 60 call 0x0000000008087a10
- [main] [ 63 ] 0xa742e98b: 81 c4 0c 00 00 00 add $0xc,%esp
- [main] [ 63 ] 0xa742e991: 90 nop
- [main] [ 66 ] 0xa742e992: 8b 7d f8 mov -0x8(%ebp),%edi
- [main] [ 66 ] 0xa742e995: 81 c7 01 00 00 00 add $0x1,%edi
- [main] [ 66 ] 0xa742e99b: 89 7d f8 mov %edi,-0x8(%ebp)
- [main] [ 66 ] 0xa742e99e: 90 nop
- [main] [ 69 ] 0xa742e99f: 8b 7d f8 mov -0x8(%ebp),%edi
- [main] [ 70 ] 0xa742e9a2: 8b 75 f4 mov -0xc(%ebp),%esi
- [main] [ 72 ] 0xa742e9a5: 39 f7 cmp %esi,%edi
- [main] [ 72 ] 0xa742e9a7: 0f 8c b9 fe ff ff jl 0x00000000a742e866
- [main] [ 72 ] 0xa742e9ad: 90 nop
- [main] [ 75 ] 0xa742e9ae: e9 01 00 00 00 jmp 0x00000000a742e9b4
- [main] [ ? ] 0xa742e9b3: 90 nop
- [main] [ ? ] 0xa742e9b4: 90 nop
- [main] [ ? ] 0xa742e9b5: c9 leave
- [main] [ ? ] 0xa742e9b6: 5b pop %ebx
- [main] [ ? ] 0xa742e9b7: 5e pop %esi
- [main] [ ? ] 0xa742e9b8: 5f pop %edi
- [main] [ ? ] 0xa742e9b9: c3 ret
- [main] [ ? ] 0xa742e9ba: 90 nop
- [main] [ ? ] 0xa742e9bb: c9 leave
- [main] [ ? ] 0xa742e9bc: 5b pop %ebx
- [main] [ ? ] 0xa742e9bd: 5e pop %esi
- [main] [ ? ] 0xa742e9be: 5f pop %edi
- [main] [ ? ] 0xa742e9bf: e9 84 af c4 60 jmp 0x0000000008079948
- [main] [ ? ] 0xa742e9c4: ff 34 24 pushl (%esp)
- [main] [ ? ] 0xa742e9c7: 68 a0 1b ce 08 push $0x8ce1ba0
- [main] [ ? ] 0xa742e9cc: 51 push %ecx
- [main] [ ? ] 0xa742e9cd: e8 f1 81 c4 60 call 0x0000000008076bc3
- [main] [ ? ] 0xa742e9d2: 83 c4 0c add $0xc,%esp
- [main] [ ? ] 0xa742e9d5: ff e0 jmp *%eax
- [main]
- SSA
- ===
- penberg@jaguar:~/src/jato$ ./jato -XX:+PrintCompilation -Xtrace:jit -Xtrace:method java/lang/ThreadLocalMap.inherit -Xssa -cp test/functional jvm/EntryTest
- [unknown] java/lang/ThreadGroup.<clinit> (11 bytes)
- [unknown] java/lang/ThreadGroup.<init> (49 bytes)
- [unknown] java/lang/String.<clinit> (27 bytes)
- [unknown] java/lang/ref/Reference.<clinit> (11 bytes)
- [unknown] java/lang/Object.<init> (1 bytes)
- [unknown] java/lang/String.zeroBasedStringValue (52 bytes)
- [unknown] java/lang/String$CaseInsensitiveComparator.<init> (5 bytes)
- [unknown] java/util/Vector.<init> (8 bytes)
- [unknown] java/util/Vector.<init> (30 bytes)
- [unknown] java/util/AbstractList.<init> (5 bytes)
- [unknown] java/util/AbstractCollection.<init> (5 bytes)
- [(null)] java/lang/Thread.<init> (84 bytes)
- [(null)] java/lang/ThreadLocalMap.<clinit> (12 bytes)
- [(null)] java/lang/ThreadLocalMap$Entry.<init> (6 bytes)
- [(null)] java/lang/ref/WeakReference.<init> (6 bytes)
- [(null)] java/lang/ref/Reference.<init> (10 bytes)
- [(null)] java/lang/ThreadLocalMap.<init> (23 bytes)
- [main] s java/lang/ThreadGroup.addThread (27 bytes)
- [main] java/util/Vector.add (7 bytes)
- [main] s java/util/Vector.addElement (50 bytes)
- [main] java/lang/ThreadLocal.<clinit> (15 bytes)
- [main] java/lang/InheritableThreadLocal.newChildThread (16 bytes)
- [main] java/lang/Thread.currentThread (4 bytes)
- [main] jit_magic_trampoline: ret0=0xa75914fd, ret1=0xa7591fa8: java/lang/ThreadLocalMap.inherit #8
- [main] java/lang/ThreadLocalMap.inherit (76 bytes)
- [main]
- [main] TRACE: java/lang/ThreadLocalMap.inherit(Ljava/lang/ThreadLocalMap;)V
- [main] Length: 76
- [main] Code:
- [main] [ 0000 ] 2b b4 00 22 59 3a 05 be 36 04 03 3e a7 00 39 19
- [main] [ 0016 ] 05 1d 32 4d 2c c6 00 2d 2c b2 00 1d a5 00 26 2c
- [main] [ 0032 ] b6 00 2a c0 00 2e 3a 06 19 06 c1 00 4a 99 00 15
- [main] [ 0048 ] 2a 19 06 19 06 c0 00 4a 2c b4 00 39 b6 00 4c b6
- [main] [ 0064 ] 00 50 84 03 01 1d 15 04 a1 ff c7 b1
- [main]
- [main]
- [main] Control Flow Graph:
- [main]
- [main] #: DFN Range Successors Predecessors
- [main] 0x8bc3ab8 0 0..15 0x89c6570 none
- [main] 0x8bbd0f8 3 15..24 0x8bc3220, 0x8bbcf80 0x89c6570
- [main] 0x8bc3220 4 24..31 0x8bc2e10, 0x8bbcf80 0x8bbd0f8
- [main] 0x8bc2e10 5 31..48 0x8ba8ab0, 0x8bbcf80 0x8bc3220
- [main] 0x8ba8ab0 6 48..66 0x8bbcf80 0x8bc2e10
- [main] 0x8bbcf80 7 66..69 0x89c6570 0x8ba8ab0, 0x8bbd0f8, 0x8bc3220, 0x8bc2e10
- [main] 0x89c6570 1 69..75 0x8baf598, 0x8bbd0f8 0x8bbcf80, 0x8bc3ab8
- [main] 0x8baf598 2 75..76 none 0x89c6570
- [main]
- [main] High-Level Intermediate Representation (HIR):
- [main]
- [main] [bb 0x8bc3ab8]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8ba7cd8 (low)]
- [main] store_src: [local reference 1]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8ba7d30 (low)]
- [main] store_src:
- [main] INSTANCE_FIELD:
- [main] vm_type: [reference]
- [main] instance_field: [0x89bfce0 'java/lang/ThreadLocalMap.entries']
- [main] objectref_expression:
- [main] NULL_CHECK:
- [main] ref: [temporary reference 0x8ba7cd8 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8ba7d88 (low)]
- [main] store_src: [temporary reference 0x8ba7d30 (low)]
- [main] STORE:
- [main] store_dest: [local reference 5]
- [main] store_src: [temporary reference 0x8ba7d88 (low)]
- [main] STORE:
- [main] store_dest: [local int 4]
- [main] store_src:
- [main] ARRAYLENGTH:
- [main] vm_type: [int]
- [main] arraylength_ref:
- [main] NULL_CHECK:
- [main] ref: [temporary reference 0x8ba7d30 (low)]
- [main] STORE:
- [main] store_dest: [local int 3]
- [main] store_src: [value int 0x0]
- [main] GOTO:
- [main] goto_target: [bb 0x89c6570]
- [main]
- [main] [bb 0x8bbd0f8]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8baf478 (low)]
- [main] store_src: [local reference 5]
- [main] STORE:
- [main] store_dest: [temporary int 0x8baf4d0 (low)]
- [main] store_src: [local int 3]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8baf528 (low)]
- [main] store_src:
- [main] NULL_CHECK:
- [main] ref: [temporary reference 0x8baf478 (low)]
- [main] ARRAY_CHECK:
- [main] expression:
- [main] ARRAY_DEREF:
- [main] vm_type: [reference]
- [main] arrayref: [temporary reference 0x8baf528 (low)]
- [main] array_index: [temporary int 0x8baf4d0 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8bb0108 (low)]
- [main] store_src:
- [main] ARRAY_DEREF:
- [main] vm_type: [reference]
- [main] arrayref: [temporary reference 0x8baf528 (low)]
- [main] array_index: [temporary int 0x8baf4d0 (low)]
- [main] STORE:
- [main] store_dest: [local reference 2]
- [main] store_src: [temporary reference 0x8bb0108 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8bb0160 (low)]
- [main] store_src: [local reference 2]
- [main] IF:
- [main] if_conditional:
- [main] BINOP:
- [main] vm_type: [int]
- [main] binary_operator: [eq]
- [main] binary_left: [temporary reference 0x8bb0160 (low)]
- [main] binary_right: [value int 0x0]
- [main] if_true: [bb 0x8bbcf80]
- [main]
- [main] [bb 0x8bc3220]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary reference 0x89d7770 (low)]
- [main] store_src: [local reference 2]
- [main] STORE:
- [main] store_dest: [temporary reference 0x89d77c8 (low)]
- [main] store_src: [class_field reference 0x89bfcb4 'java/lang/ThreadLocalMap.deletedEntry']
- [main] IF:
- [main] if_conditional:
- [main] BINOP:
- [main] vm_type: [reference]
- [main] binary_operator: [eq]
- [main] binary_left: [temporary reference 0x89d7770 (low)]
- [main] binary_right: [temporary reference 0x89d77c8 (low)]
- [main] if_true: [bb 0x8bbcf80]
- [main]
- [main] [bb 0x8bc2e10]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary reference 0x89d7820 (low)]
- [main] store_src: [local reference 2]
- [main] INVOKEVIRTUAL:
- [main] target_method: [0x8a77d5c 'java/lang/ref/Reference.get()Ljava/lang/Object;' (15)]
- [main] args_list:
- [main] ARG_THIS:
- [main] arg_expression: [temporary reference 0x89d7820 (low)]
- [main] result: [temporary reference 0x8bb32e0 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8bb3338 (low)]
- [main] store_src: [temporary reference 0x8bb32e0 (low)]
- [main] CHECKCAST:
- [main] checkcast_type: [0x892b410 'java/lang/ThreadLocal']
- [main] checkcast_ref: [temporary reference 0x8bb3338 (low)]
- [main] STORE:
- [main] store_dest: [local reference 6]
- [main] store_src: [temporary reference 0x8bb3338 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8bb2b58 (low)]
- [main] store_src: [local reference 6]
- [main] IF:
- [main] if_conditional:
- [main] BINOP:
- [main] vm_type: [int]
- [main] binary_operator: [eq]
- [main] binary_left:
- [main] INSTANCEOF:
- [main] vm_type: [int]
- [main] instanceof_class: [0x892b4e0 'java/lang/InheritableThreadLocal']
- [main] instanceof_ref: [temporary reference 0x8bb2b58 (low)]
- [main] binary_right: [value int 0x0]
- [main] if_true: [bb 0x8bbcf80]
- [main]
- [main] [bb 0x8ba8ab0]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8bb2bb0 (low)]
- [main] store_src: [local reference 0]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8bb2c08 (low)]
- [main] store_src: [local reference 6]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8b89ee0 (low)]
- [main] store_src: [local reference 6]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8b89f38 (low)]
- [main] store_src: [temporary reference 0x8b89ee0 (low)]
- [main] CHECKCAST:
- [main] checkcast_type: [0x892b4e0 'java/lang/InheritableThreadLocal']
- [main] checkcast_ref: [temporary reference 0x8b89f38 (low)]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8bb1ab0 (low)]
- [main] store_src: [local reference 2]
- [main] STORE:
- [main] store_dest: [temporary reference 0x8bb1b08 (low)]
- [main] store_src:
- [main] INSTANCE_FIELD:
- [main] vm_type: [reference]
- [main] instance_field: [0x89279c0 'java/lang/ThreadLocalMap$Entry.value']
- [main] objectref_expression:
- [main] NULL_CHECK:
- [main] ref: [temporary reference 0x8bb1ab0 (low)]
- [main] INVOKEVIRTUAL:
- [main] target_method: [0x8928674 'java/lang/InheritableThreadLocal.childValue(Ljava/lang/Object;)Ljava/lang/Object;' (18)]
- [main] args_list:
- [main] ARGS_LIST:
- [main] args_left:
- [main] ARG:
- [main] arg_expression: [temporary reference 0x8bb1b08 (low)]
- [main] args_right:
- [main] ARG_THIS:
- [main] arg_expression: [temporary reference 0x8b89f38 (low)]
- [main] result: [temporary reference 0x8bb1b60 (low)]
- [main] INVOKEVIRTUAL:
- [main] target_method: [0x8bc5a44 'java/lang/ThreadLocalMap.set(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V' (16)]
- [main] args_list:
- [main] ARGS_LIST:
- [main] args_left:
- [main] ARGS_LIST:
- [main] args_left:
- [main] ARG:
- [main] arg_expression: [temporary reference 0x8bb1b60 (low)]
- [main] args_right:
- [main] ARG:
- [main] arg_expression: [temporary reference 0x8bb2c08 (low)]
- [main] args_right:
- [main] ARG_THIS:
- [main] arg_expression: [temporary reference 0x8bb2bb0 (low)]
- [main] result: [void]
- [main]
- [main] [bb 0x8bbcf80]:
- [main]
- [main] STORE:
- [main] store_dest: [local int 3]
- [main] store_src:
- [main] BINOP:
- [main] vm_type: [int]
- [main] binary_operator: [add]
- [main] binary_left: [local int 3]
- [main] binary_right: [value int 0x1]
- [main]
- [main] [bb 0x89c6570]:
- [main]
- [main] STORE:
- [main] store_dest: [temporary int 0x8b02738 (low)]
- [main] store_src: [local int 3]
- [main] STORE:
- [main] store_dest: [temporary int 0x8b02790 (low)]
- [main] store_src: [local int 4]
- [main] IF:
- [main] if_conditional:
- [main] BINOP:
- [main] vm_type: [int]
- [main] binary_operator: [lt]
- [main] binary_left: [temporary int 0x8b02738 (low)]
- [main] binary_right: [temporary int 0x8b02790 (low)]
- [main] if_true: [bb 0x8bbd0f8]
- [main]
- [main] [bb 0x8baf598]:
- [main]
- [main] VOID_RETURN
- [main]
- [main] Low-Level Intermediate Representation (LIR):
- [main]
- [main] Bytecode LIR
- [main] offset offset Instruction Operands
- [main] --------- ------- ----------- --------
- [main] [bb 0x8bc3ab8]:
- [main] [ 0 ] 0: mov_memlocal_reg @1(bp), r16
- [main] [ 1 ] 2: test_membase_reg $0x0(r16), r16
- [main] [ 1 ] 4: mov_membase_reg $0x8(r16), r39
- [main] [ 1 ] 6: mov_reg_reg r39, r17
- [main] [ 4 ] 8: mov_reg_reg r17, r18
- [main] [ 5 ] 10: mov_reg_memlocal r18, @5(bp)
- [main] [ 7 ] 12: test_membase_reg $0x0(r17), r17
- [main] [ 7 ] 14: mov_membase_reg $0x8(r17), r40
- [main] [ 8 ] 16: mov_reg_memlocal r40, @4(bp)
- [main] [ 10 ] 18: mov_imm_reg $0x0, r41
- [main] [ 11 ] 20: mov_reg_memlocal r41, @3(bp)
- [main] [ 12 ] 22: jmp_branch bb 0x89c6570
- [main] [bb 0x8bbd0f8]:
- [main] [ 15 ] 24: mov_memlocal_reg @5(bp), r21
- [main] [ 17 ] 26: mov_memlocal_reg @3(bp), r22
- [main] [ 18 ] 28: test_membase_reg $0x0(r21), r21
- [main] [ 18 ] 30: mov_reg_reg r21, r23
- [main] [ 18 ] 32: mov_reg_reg r23, r42
- [main] [ 18 ] 34: mov_reg_reg r22, r43
- [main] [ 18 ] 36: push_reg r43
- [main] [ 18 ] 38: push_reg r42
- [main] [ 18 ] 40: call_rel $0x806f7e2
- [main] [ 18 ] 42: add_imm_reg $0x8, r15=ESP
- [main] [ 18 ] 44: mov_tlmemdisp_reg gs:($0xffffb7c0), r44
- [main] [ 18 ] 46: test_membase_reg $0x0(r44), r44
- [main] [ 18 ] 48: mov_reg_reg r23, r45
- [main] [ 18 ] 50: add_imm_reg $0xc, r45
- [main] [ 18 ] 52: mov_memindex_reg (r45, r22, 2), r24
- [main] [ 19 ] 54: mov_reg_memlocal r24, @2(bp)
- [main] [ 20 ] 56: mov_memlocal_reg @2(bp), r25
- [main] [ 21 ] 58: cmp_imm_reg $0x0, r25
- [main] [ 21 ] 60: je_branch bb 0x8bbcf80
- [main] [bb 0x8bc3220]:
- [main] [ 24 ] 62: mov_memlocal_reg @2(bp), r26
- [main] [ 25 ] 64: mov_memdisp_reg ($0x8844e58), r46
- [main] [ 25 ] 66: mov_reg_reg r46, r27
- [main] [ 28 ] 68: cmp_reg_reg r27, r26
- [main] [ 28 ] 70: je_branch bb 0x8bbcf80
- [main] [bb 0x8bc2e10]:
- [main] [ 31 ] 72: mov_memlocal_reg @2(bp), r28
- [main] [ 32 ] 74: push_reg r28
- [main] [ 32 ] 76: test_imm_memdisp $0x0, ($0x87ff000)
- [main] [ 32 ] 78: ic_call r28, $0x8a77d5c<get>
- [main] [ 32 ] 80: mov_reg_reg r0=EAX, r29
- [main] [ 32 ] 82: add_imm_reg $0x4, r15=ESP
- [main] [ 35 ] 84: mov_reg_reg r29, r30
- [main] [ 35 ] 86: push_imm $0x892b410
- [main] [ 35 ] 88: push_reg r30
- [main] [ 35 ] 90: call_rel $0x806f98e
- [main] [ 35 ] 92: add_imm_reg $0x8, r15=ESP
- [main] [ 35 ] 94: mov_tlmemdisp_reg gs:($0xffffb7c0), r47
- [main] [ 35 ] 96: test_membase_reg $0x0(r47), r47
- [main] [ 38 ] 98: mov_reg_memlocal r30, @6(bp)
- [main] [ 40 ] 100: mov_memlocal_reg @6(bp), r31
- [main] [ 42 ] 102: push_imm $0x892b4e0
- [main] [ 42 ] 104: push_reg r31
- [main] [ 42 ] 106: call_rel $0x806f6dc
- [main] [ 42 ] 108: mov_reg_reg r0=EAX, r48
- [main] [ 42 ] 110: add_imm_reg $0x8, r15=ESP
- [main] [ 42 ] 112: mov_tlmemdisp_reg gs:($0xffffb7c0), r49
- [main] [ 42 ] 114: test_membase_reg $0x0(r49), r49
- [main] [ 45 ] 116: cmp_imm_reg $0x0, r48
- [main] [ 45 ] 118: je_branch bb 0x8bbcf80
- [main] [bb 0x8ba8ab0]:
- [main] [ 48 ] 120: mov_memlocal_reg @0(bp), r32
- [main] [ 49 ] 122: mov_memlocal_reg @6(bp), r33
- [main] [ 51 ] 124: mov_memlocal_reg @6(bp), r34
- [main] [ 53 ] 126: mov_reg_reg r34, r35
- [main] [ 53 ] 128: push_imm $0x892b4e0
- [main] [ 53 ] 130: push_reg r35
- [main] [ 53 ] 132: call_rel $0x806f98e
- [main] [ 53 ] 134: add_imm_reg $0x8, r15=ESP
- [main] [ 53 ] 136: mov_tlmemdisp_reg gs:($0xffffb7c0), r50
- [main] [ 53 ] 138: test_membase_reg $0x0(r50), r50
- [main] [ 56 ] 140: mov_memlocal_reg @2(bp), r36
- [main] [ 57 ] 142: test_membase_reg $0x0(r36), r36
- [main] [ 57 ] 144: mov_membase_reg $0x18(r36), r51
- [main] [ 57 ] 146: mov_reg_reg r51, r37
- [main] [ 60 ] 148: push_reg r37
- [main] [ 60 ] 150: push_reg r35
- [main] [ 60 ] 152: test_imm_memdisp $0x0, ($0x87ff000)
- [main] [ 60 ] 154: ic_call r35, $0x8928674<childValue>
- [main] [ 60 ] 156: mov_reg_reg r0=EAX, r38
- [main] [ 60 ] 158: add_imm_reg $0x8, r15=ESP
- [main] [ 63 ] 160: push_reg r38
- [main] [ 63 ] 162: push_reg r33
- [main] [ 63 ] 164: push_reg r32
- [main] [ 63 ] 166: test_imm_memdisp $0x0, ($0x87ff000)
- [main] [ 63 ] 168: ic_call r32, $0x8bc5a44<set>
- [main] [ 63 ] 170: add_imm_reg $0xc, r15=ESP
- [main] [bb 0x8bbcf80]:
- [main] [ 66 ] 172: mov_memlocal_reg @3(bp), r52
- [main] [ 66 ] 174: add_imm_reg $0x1, r52
- [main] [ 66 ] 176: mov_reg_memlocal r52, @3(bp)
- [main] [bb 0x89c6570]:
- [main] [ 69 ] 178: mov_memlocal_reg @3(bp), r19
- [main] [ 70 ] 180: mov_memlocal_reg @4(bp), r20
- [main] [ 72 ] 182: cmp_reg_reg r20, r19
- [main] [ 72 ] 184: jl_branch bb 0x8bbd0f8
- [main] [bb 0x8baf598]:
- [main] [ 75 ] 186: jmp_branch bb 0x8ba7ad0
- [main]
- [main] SSA
- [main] #: DFN Dominance frontier sets
- [main] 0x8bc3ab8 0 none
- [main] 0x8bbd0f8 3 1
- [main] 0x8bc3220 4 7
- [main] 0x8bc2e10 5 7
- [main] 0x8ba8ab0 6 7
- [main] 0x8bbcf80 7 1
- [main] 0x89c6570 1 1
- [main] 0x8baf598 2 none
- [main]
- jato: jit/spill-reload.c:355: maybe_add_mapping: Assertion `from_it' failed.