======================================================================== __STAGE_BEGIN__: stageId=0 stageGroup=TRANS stageName=trans_cleanup stageTag=trans_cleanup ======================================================================== Trans: Running cleanup ======================================================================== __IR_DUMP_BEGIN__: stageId=0 stageName=trans_cleanup subKind=before Printing IR trans_cleanup - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L9 UNWIND I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau I9:call a::_init_(t3) ((t4,t5)) -) bcmap:4 GOTO L9 Block L9: Predecessors: L8 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1:int32 GOTO L1 Block L1: Predecessors: L9 L11 Successors: L3 L2 I1:L1: bcmap:12 I12:ldvar v1 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I16:tauhastype t3,cls:a -) t10:tau I17:call a::work(t3) ((t9,t10)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L11 UNWIND I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1:int32 I21:pseudoThrow bcmap:27 GOTO L11 Block UNWIND: Predecessors: ENTRY_L0 L8 L2 L10 Successors: EXIT I26:L6: GOTO EXIT Block L11: Predecessors: L10 Successors: L1 I31:L11: bcmap:27 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 ENTRY_L4 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=0 stageName=trans_cleanup subKind=before ======================================================================== ======================================================================== __STAGE_END__: stageId=0 stageGroup=TRANS stageName=trans_cleanup stageTag=trans_cleanup ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=4 stageGroup=HLO stageName=SSA Construction stageTag=ssa ======================================================================== Opt: Running SSA Construction ======================================================================== __IR_DUMP_BEGIN__: stageId=4 stageName=SSA Construction subKind=before Printing IR SSA Construction - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L9 UNWIND I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau I9:call a::_init_(t3) ((t4,t5)) -) bcmap:4 GOTO L9 Block L9: Predecessors: L8 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1:int32 GOTO L1 Block L1: Predecessors: L10 L9 Successors: L3 L2 I1:L1: bcmap:12 I12:ldvar v1 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I16:tauhastype t3,cls:a -) t10:tau I17:call a::work(t3) ((t9,t10)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L8 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=4 stageName=SSA Construction subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=4 stageName=SSA Construction subKind=after Printing IR SSA Construction - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L9 UNWIND I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau I9:call a::_init_(t3) ((t4,t5)) -) bcmap:4 GOTO L9 Block L9: Predecessors: L8 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L9 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I16:tauhastype t3,cls:a -) t10:tau I17:call a::work(t3) ((t9,t10)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L8 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=4 stageName=SSA Construction subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=4 stageGroup=HLO stageName=SSA Construction stageTag=ssa ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=5 stageGroup=HLO stageName=Guarded Devirtualization of Virtual Calls stageTag=devirt ======================================================================== Opt: Running Guarded Devirtualization of Virtual Calls ======================================================================== __IR_DUMP_BEGIN__: stageId=5 stageName=Guarded Devirtualization of Virtual Calls subKind=before Printing IR Guarded Devirtualization of Virtual Calls - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L9 UNWIND I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau I9:call a::_init_(t3) ((t4,t5)) -) bcmap:4 GOTO L9 Block L9: Predecessors: L8 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L9 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I16:tauhastype t3,cls:a -) t10:tau I17:call a::work(t3) ((t9,t10)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L8 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=5 stageName=Guarded Devirtualization of Virtual Calls subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=5 stageName=Guarded Devirtualization of Virtual Calls subKind=after Printing IR Guarded Devirtualization of Virtual Calls - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L9 UNWIND I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau I9:call a::_init_(t3) ((t4,t5)) -) bcmap:4 GOTO L9 Block L9: Predecessors: L8 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L9 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I16:tauhastype t3,cls:a -) t10:tau I17:call a::work(t3) ((t9,t10)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L8 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=5 stageName=Guarded Devirtualization of Virtual Calls subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=5 stageGroup=HLO stageName=Guarded Devirtualization of Virtual Calls stageTag=devirt ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=6 stageGroup=HLO stageName=APIMagics HLO Pass stageTag=hlo_api_magic ======================================================================== Opt: Running APIMagics HLO Pass ======================================================================== __IR_DUMP_BEGIN__: stageId=6 stageName=APIMagics HLO Pass subKind=before Printing IR APIMagics HLO Pass - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L9 UNWIND I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau I9:call a::_init_(t3) ((t4,t5)) -) bcmap:4 GOTO L9 Block L9: Predecessors: L8 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L9 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I16:tauhastype t3,cls:a -) t10:tau I17:call a::work(t3) ((t9,t10)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L8 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=6 stageName=APIMagics HLO Pass subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=6 stageName=APIMagics HLO Pass subKind=after Printing IR APIMagics HLO Pass - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L9 UNWIND I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau I9:call a::_init_(t3) ((t4,t5)) -) bcmap:4 GOTO L9 Block L9: Predecessors: L8 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L9 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I16:tauhastype t3,cls:a -) t10:tau I17:call a::work(t3) ((t9,t10)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L8 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=6 stageName=APIMagics HLO Pass subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=6 stageGroup=HLO stageName=APIMagics HLO Pass stageTag=hlo_api_magic ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=7 stageGroup=HLO stageName=Method Inlining stageTag=inline ======================================================================== Opt: Running Method Inlining ======================================================================== __IR_DUMP_BEGIN__: stageId=7 stageName=Method Inlining subKind=before Printing IR Method Inlining - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L9 UNWIND I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau I9:call a::_init_(t3) ((t4,t5)) -) bcmap:4 GOTO L9 Block L9: Predecessors: L8 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L9 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I16:tauhastype t3,cls:a -) t10:tau I17:call a::work(t3) ((t9,t10)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L8 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=7 stageName=Method Inlining subKind=before ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=0 stageGroup=TRANS stageName=trans_cleanup stageTag=trans_cleanup ======================================================================== Trans: Running cleanup ======================================================================== __IR_DUMP_BEGIN__: stageId=0 stageName=trans_cleanup subKind=before Printing IR trans_cleanup - before ======================================================================== -------- irDump: a:: -------- Block ENTRY_L12: Predecessors: Successors: L17 UNWIND I33:--- MethodEntry(a::_init_): () bcmap:0 I34:defarg.ths -) t17:cls:a I35:tauisnonnull t17 -) t18:tau I36:tauhastype t17,cls:a -) t19:tau I37:tauunsafe() -) t20:tau I38:call java/lang/Object::_init_(t17) ((t18,t20)) -) bcmap:1 GOTO L17 Block UNWIND: Predecessors: ENTRY_L12 Successors: EXIT I42:L15: GOTO EXIT Block L17: Predecessors: ENTRY_L12 Successors: RETURN I44:L17: bcmap:4 I39:return Block RETURN: Predecessors: L17 ENTRY_L13 Successors: EXIT I41:L14: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I43:L16: ======================================================================== __IR_DUMP_END__: stageId=0 stageName=trans_cleanup subKind=before ======================================================================== ======================================================================== __STAGE_END__: stageId=0 stageGroup=TRANS stageName=trans_cleanup stageTag=trans_cleanup ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=8 stageGroup=HLO stageName=SSA Construction stageTag=ssa ======================================================================== Opt: Running SSA Construction ======================================================================== __IR_DUMP_BEGIN__: stageId=8 stageName=SSA Construction subKind=before Printing IR SSA Construction - before ======================================================================== -------- irDump: a:: -------- Block ENTRY_L18: Predecessors: Successors: L17 UNWIND I45:L18: bcmap:unknown I46:--- MethodEntry(a::_init_): () bcmap:4 I49:copy t3 -) t17:cls:a I35:tauisnonnull t17 -) t18:tau I36:tauhastype t17,cls:a -) t19:tau I37:tauunsafe() -) t20:tau I38:call java/lang/Object::_init_(t17) ((t18,t20)) -) bcmap:1 GOTO L17 Block UNWIND: Predecessors: ENTRY_L18 Successors: EXIT I42:L15: I48:+++ MethodEnd(a::_init_) () GOTO EXIT Block L17: Predecessors: ENTRY_L18 Successors: RETURN I44:L17: bcmap:4 GOTO RETURN Block RETURN: Predecessors: L17 Successors: EXIT I41:L14: bcmap:unknown I47:+++ MethodEnd(a::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I43:L16: ======================================================================== __IR_DUMP_END__: stageId=8 stageName=SSA Construction subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=8 stageName=SSA Construction subKind=after Printing IR SSA Construction - after ======================================================================== -------- irDump: a:: -------- Block ENTRY_L18: Predecessors: Successors: L17 UNWIND I45:L18: bcmap:unknown I46:--- MethodEntry(a::_init_): () bcmap:4 I49:copy t3 -) t17:cls:a I35:tauisnonnull t17 -) t18:tau I36:tauhastype t17,cls:a -) t19:tau I37:tauunsafe() -) t20:tau I38:call java/lang/Object::_init_(t17) ((t18,t20)) -) bcmap:1 GOTO L17 Block UNWIND: Predecessors: ENTRY_L18 Successors: EXIT I42:L15: I48:+++ MethodEnd(a::_init_) () GOTO EXIT Block L17: Predecessors: ENTRY_L18 Successors: RETURN I44:L17: bcmap:4 GOTO RETURN Block RETURN: Predecessors: L17 Successors: EXIT I41:L14: bcmap:unknown I47:+++ MethodEnd(a::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I43:L16: ======================================================================== __IR_DUMP_END__: stageId=8 stageName=SSA Construction subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=8 stageGroup=HLO stageName=SSA Construction stageTag=ssa ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=9 stageGroup=HLO stageName=Guarded Devirtualization of Virtual Calls stageTag=devirt ======================================================================== Opt: Running Guarded Devirtualization of Virtual Calls ======================================================================== __IR_DUMP_BEGIN__: stageId=9 stageName=Guarded Devirtualization of Virtual Calls subKind=before Printing IR Guarded Devirtualization of Virtual Calls - before ======================================================================== -------- irDump: a:: -------- Block ENTRY_L18: Predecessors: Successors: L17 UNWIND I45:L18: bcmap:unknown I46:--- MethodEntry(a::_init_): () bcmap:4 I49:copy t3 -) t17:cls:a I35:tauisnonnull t17 -) t18:tau I36:tauhastype t17,cls:a -) t19:tau I37:tauunsafe() -) t20:tau I38:call java/lang/Object::_init_(t17) ((t18,t20)) -) bcmap:1 GOTO L17 Block UNWIND: Predecessors: ENTRY_L18 Successors: EXIT I42:L15: I48:+++ MethodEnd(a::_init_) () GOTO EXIT Block L17: Predecessors: ENTRY_L18 Successors: RETURN I44:L17: bcmap:4 GOTO RETURN Block RETURN: Predecessors: L17 Successors: EXIT I41:L14: bcmap:unknown I47:+++ MethodEnd(a::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I43:L16: ======================================================================== __IR_DUMP_END__: stageId=9 stageName=Guarded Devirtualization of Virtual Calls subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=9 stageName=Guarded Devirtualization of Virtual Calls subKind=after Printing IR Guarded Devirtualization of Virtual Calls - after ======================================================================== -------- irDump: a:: -------- Block ENTRY_L18: Predecessors: Successors: L17 UNWIND I45:L18: bcmap:unknown I46:--- MethodEntry(a::_init_): () bcmap:4 I49:copy t3 -) t17:cls:a I35:tauisnonnull t17 -) t18:tau I36:tauhastype t17,cls:a -) t19:tau I37:tauunsafe() -) t20:tau I38:call java/lang/Object::_init_(t17) ((t18,t20)) -) bcmap:1 GOTO L17 Block UNWIND: Predecessors: ENTRY_L18 Successors: EXIT I42:L15: I48:+++ MethodEnd(a::_init_) () GOTO EXIT Block L17: Predecessors: ENTRY_L18 Successors: RETURN I44:L17: bcmap:4 GOTO RETURN Block RETURN: Predecessors: L17 Successors: EXIT I41:L14: bcmap:unknown I47:+++ MethodEnd(a::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I43:L16: ======================================================================== __IR_DUMP_END__: stageId=9 stageName=Guarded Devirtualization of Virtual Calls subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=9 stageGroup=HLO stageName=Guarded Devirtualization of Virtual Calls stageTag=devirt ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=10 stageGroup=HLO stageName=APIMagics HLO Pass stageTag=hlo_api_magic ======================================================================== Opt: Running APIMagics HLO Pass ======================================================================== __IR_DUMP_BEGIN__: stageId=10 stageName=APIMagics HLO Pass subKind=before Printing IR APIMagics HLO Pass - before ======================================================================== -------- irDump: a:: -------- Block ENTRY_L18: Predecessors: Successors: L17 UNWIND I45:L18: bcmap:unknown I46:--- MethodEntry(a::_init_): () bcmap:4 I49:copy t3 -) t17:cls:a I35:tauisnonnull t17 -) t18:tau I36:tauhastype t17,cls:a -) t19:tau I37:tauunsafe() -) t20:tau I38:call java/lang/Object::_init_(t17) ((t18,t20)) -) bcmap:1 GOTO L17 Block UNWIND: Predecessors: ENTRY_L18 Successors: EXIT I42:L15: I48:+++ MethodEnd(a::_init_) () GOTO EXIT Block L17: Predecessors: ENTRY_L18 Successors: RETURN I44:L17: bcmap:4 GOTO RETURN Block RETURN: Predecessors: L17 Successors: EXIT I41:L14: bcmap:unknown I47:+++ MethodEnd(a::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I43:L16: ======================================================================== __IR_DUMP_END__: stageId=10 stageName=APIMagics HLO Pass subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=10 stageName=APIMagics HLO Pass subKind=after Printing IR APIMagics HLO Pass - after ======================================================================== -------- irDump: a:: -------- Block ENTRY_L18: Predecessors: Successors: L17 UNWIND I45:L18: bcmap:unknown I46:--- MethodEntry(a::_init_): () bcmap:4 I49:copy t3 -) t17:cls:a I35:tauisnonnull t17 -) t18:tau I36:tauhastype t17,cls:a -) t19:tau I37:tauunsafe() -) t20:tau I38:call java/lang/Object::_init_(t17) ((t18,t20)) -) bcmap:1 GOTO L17 Block UNWIND: Predecessors: ENTRY_L18 Successors: EXIT I42:L15: I48:+++ MethodEnd(a::_init_) () GOTO EXIT Block L17: Predecessors: ENTRY_L18 Successors: RETURN I44:L17: bcmap:4 GOTO RETURN Block RETURN: Predecessors: L17 Successors: EXIT I41:L14: bcmap:unknown I47:+++ MethodEnd(a::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I43:L16: ======================================================================== __IR_DUMP_END__: stageId=10 stageName=APIMagics HLO Pass subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=10 stageGroup=HLO stageName=APIMagics HLO Pass stageTag=hlo_api_magic ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=0 stageGroup=TRANS stageName=trans_cleanup stageTag=trans_cleanup ======================================================================== Trans: Running cleanup ======================================================================== __IR_DUMP_BEGIN__: stageId=0 stageName=trans_cleanup subKind=before Printing IR trans_cleanup - before ======================================================================== -------- irDump: java/lang/Object:: -------- Block ENTRY_L19: Predecessors: Successors: RETURN I50:--- MethodEntry(java/lang/Object::_init_): () bcmap:0 I51:defarg.ths -) t21:cls:java/lang/Object I52:tauisnonnull t21 -) t22:tau I53:tauhastype t21,cls:java/lang/Object -) t23:tau I54:return Block RETURN: Predecessors: ENTRY_L19 ENTRY_L20 Successors: EXIT I56:L21: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I58:L23: ======================================================================== __IR_DUMP_END__: stageId=0 stageName=trans_cleanup subKind=before ======================================================================== ======================================================================== __STAGE_END__: stageId=0 stageGroup=TRANS stageName=trans_cleanup stageTag=trans_cleanup ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=11 stageGroup=HLO stageName=SSA Construction stageTag=ssa ======================================================================== Opt: Running SSA Construction ======================================================================== __IR_DUMP_BEGIN__: stageId=11 stageName=SSA Construction subKind=before Printing IR SSA Construction - before ======================================================================== -------- irDump: java/lang/Object:: -------- Block ENTRY_L24: Predecessors: Successors: RETURN I59:L24: bcmap:unknown I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I62:copy t17 -) t21:cls:java/lang/Object I52:tauisnonnull t21 -) t22:tau I53:tauhastype t21,cls:java/lang/Object -) t23:tau GOTO RETURN Block RETURN: Predecessors: ENTRY_L24 Successors: EXIT I56:L21: bcmap:unknown I61:+++ MethodEnd(java/lang/Object::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN Successors: I58:L23: ======================================================================== __IR_DUMP_END__: stageId=11 stageName=SSA Construction subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=11 stageName=SSA Construction subKind=after Printing IR SSA Construction - after ======================================================================== -------- irDump: java/lang/Object:: -------- Block ENTRY_L24: Predecessors: Successors: RETURN I59:L24: bcmap:unknown I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I62:copy t17 -) t21:cls:java/lang/Object I52:tauisnonnull t21 -) t22:tau I53:tauhastype t21,cls:java/lang/Object -) t23:tau GOTO RETURN Block RETURN: Predecessors: ENTRY_L24 Successors: EXIT I56:L21: bcmap:unknown I61:+++ MethodEnd(java/lang/Object::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN Successors: I58:L23: ======================================================================== __IR_DUMP_END__: stageId=11 stageName=SSA Construction subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=11 stageGroup=HLO stageName=SSA Construction stageTag=ssa ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=12 stageGroup=HLO stageName=Guarded Devirtualization of Virtual Calls stageTag=devirt ======================================================================== Opt: Running Guarded Devirtualization of Virtual Calls ======================================================================== __IR_DUMP_BEGIN__: stageId=12 stageName=Guarded Devirtualization of Virtual Calls subKind=before Printing IR Guarded Devirtualization of Virtual Calls - before ======================================================================== -------- irDump: java/lang/Object:: -------- Block ENTRY_L24: Predecessors: Successors: RETURN I59:L24: bcmap:unknown I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I62:copy t17 -) t21:cls:java/lang/Object I52:tauisnonnull t21 -) t22:tau I53:tauhastype t21,cls:java/lang/Object -) t23:tau GOTO RETURN Block RETURN: Predecessors: ENTRY_L24 Successors: EXIT I56:L21: bcmap:unknown I61:+++ MethodEnd(java/lang/Object::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN Successors: I58:L23: ======================================================================== __IR_DUMP_END__: stageId=12 stageName=Guarded Devirtualization of Virtual Calls subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=12 stageName=Guarded Devirtualization of Virtual Calls subKind=after Printing IR Guarded Devirtualization of Virtual Calls - after ======================================================================== -------- irDump: java/lang/Object:: -------- Block ENTRY_L24: Predecessors: Successors: RETURN I59:L24: bcmap:unknown I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I62:copy t17 -) t21:cls:java/lang/Object I52:tauisnonnull t21 -) t22:tau I53:tauhastype t21,cls:java/lang/Object -) t23:tau GOTO RETURN Block RETURN: Predecessors: ENTRY_L24 Successors: EXIT I56:L21: bcmap:unknown I61:+++ MethodEnd(java/lang/Object::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN Successors: I58:L23: ======================================================================== __IR_DUMP_END__: stageId=12 stageName=Guarded Devirtualization of Virtual Calls subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=12 stageGroup=HLO stageName=Guarded Devirtualization of Virtual Calls stageTag=devirt ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=13 stageGroup=HLO stageName=APIMagics HLO Pass stageTag=hlo_api_magic ======================================================================== Opt: Running APIMagics HLO Pass ======================================================================== __IR_DUMP_BEGIN__: stageId=13 stageName=APIMagics HLO Pass subKind=before Printing IR APIMagics HLO Pass - before ======================================================================== -------- irDump: java/lang/Object:: -------- Block ENTRY_L24: Predecessors: Successors: RETURN I59:L24: bcmap:unknown I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I62:copy t17 -) t21:cls:java/lang/Object I52:tauisnonnull t21 -) t22:tau I53:tauhastype t21,cls:java/lang/Object -) t23:tau GOTO RETURN Block RETURN: Predecessors: ENTRY_L24 Successors: EXIT I56:L21: bcmap:unknown I61:+++ MethodEnd(java/lang/Object::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN Successors: I58:L23: ======================================================================== __IR_DUMP_END__: stageId=13 stageName=APIMagics HLO Pass subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=13 stageName=APIMagics HLO Pass subKind=after Printing IR APIMagics HLO Pass - after ======================================================================== -------- irDump: java/lang/Object:: -------- Block ENTRY_L24: Predecessors: Successors: RETURN I59:L24: bcmap:unknown I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I62:copy t17 -) t21:cls:java/lang/Object I52:tauisnonnull t21 -) t22:tau I53:tauhastype t21,cls:java/lang/Object -) t23:tau GOTO RETURN Block RETURN: Predecessors: ENTRY_L24 Successors: EXIT I56:L21: bcmap:unknown I61:+++ MethodEnd(java/lang/Object::_init_) () GOTO EXIT Block EXIT: Predecessors: RETURN Successors: I58:L23: ======================================================================== __IR_DUMP_END__: stageId=13 stageName=APIMagics HLO Pass subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=13 stageGroup=HLO stageName=APIMagics HLO Pass stageTag=hlo_api_magic ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=7 stageName=Method Inlining subKind=after Printing IR Method Inlining - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L18 I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau GOTO L18 Block L18: Predecessors: L8 Successors: L24 I45:L18: bcmap:unknown I46:--- MethodEntry(a::_init_): () bcmap:4 I49:copy t3 -) t17:cls:a I35:tauisnonnull t17 -) t18:tau I36:tauhastype t17,cls:a -) t19:tau I37:tauunsafe() -) t20:tau GOTO L24 Block L24: Predecessors: L18 Successors: L21 I59:L24: bcmap:unknown I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I62:copy t17 -) t21:cls:java/lang/Object I52:tauisnonnull t21 -) t22:tau I53:tauhastype t21,cls:java/lang/Object -) t23:tau GOTO L21 Block L21: Predecessors: L24 Successors: L17 I56:L21: bcmap:unknown I61:+++ MethodEnd(java/lang/Object::_init_) () GOTO L17 Block L17: Predecessors: L21 Successors: L14 I44:L17: bcmap:4 GOTO L14 Block L14: Predecessors: L17 Successors: L9 I41:L14: bcmap:unknown I47:+++ MethodEnd(a::_init_) () GOTO L9 Block L9: Predecessors: L14 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L9 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I16:tauhastype t3,cls:a -) t10:tau I17:call a::work(t3) ((t9,t10)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=7 stageName=Method Inlining subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=7 stageGroup=HLO stageName=Method Inlining stageTag=inline ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=15 stageGroup=HLO stageName=Perform simplification pass stageTag=simplify ======================================================================== Opt: Running Perform simplification pass ======================================================================== __IR_DUMP_BEGIN__: stageId=15 stageName=Perform simplification pass subKind=before Printing IR Perform simplification pass - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L18 I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau GOTO L18 Block L18: Predecessors: L8 Successors: L24 I45:L18: bcmap:unknown I46:--- MethodEntry(a::_init_): () bcmap:4 I49:copy t3 -) t17:cls:a I35:tauisnonnull t17 -) t18:tau I36:tauhastype t17,cls:a -) t19:tau I37:tauunsafe() -) t20:tau GOTO L24 Block L24: Predecessors: L18 Successors: L21 I59:L24: bcmap:unknown I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I62:copy t17 -) t21:cls:java/lang/Object I52:tauisnonnull t21 -) t22:tau I53:tauhastype t21,cls:java/lang/Object -) t23:tau GOTO L21 Block L21: Predecessors: L24 Successors: L14 I56:L21: bcmap:unknown I61:+++ MethodEnd(java/lang/Object::_init_) () GOTO L14 Block L14: Predecessors: L21 Successors: L9 I41:L14: bcmap:unknown I47:+++ MethodEnd(a::_init_) () GOTO L9 Block L9: Predecessors: L14 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L9 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I16:tauhastype t3,cls:a -) t10:tau I17:call a::work(t3) ((t9,t10)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=15 stageName=Perform simplification pass subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=15 stageName=Perform simplification pass subKind=after Printing IR Perform simplification pass - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L18 I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau GOTO L18 Block L18: Predecessors: L8 Successors: L24 I45:L18: bcmap:unknown I46:--- MethodEntry(a::_init_): () bcmap:4 I64:copy t3 -) t17:cls:a I66:copy t24 -) t18:tau I67:copy t24 -) t19:tau I37:tauunsafe() -) t20:tau GOTO L24 Block L24: Predecessors: L18 Successors: L21 I59:L24: bcmap:unknown I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I68:copy t3 -) t21:cls:java/lang/Object I69:copy t24 -) t22:tau I70:copy t24 -) t23:tau GOTO L21 Block L21: Predecessors: L24 Successors: L14 I56:L21: bcmap:unknown I61:+++ MethodEnd(java/lang/Object::_init_) () GOTO L14 Block L14: Predecessors: L21 Successors: L9 I41:L14: bcmap:unknown I47:+++ MethodEnd(a::_init_) () GOTO L9 Block L9: Predecessors: L14 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L9 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I71:copy t24 -) t10:tau I17:call a::work(t3) ((t9,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=15 stageName=Perform simplification pass subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=15 stageGroup=HLO stageName=Perform simplification pass stageTag=simplify ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=16 stageGroup=HLO stageName=Dead Code Elimination stageTag=dce ======================================================================== Opt: Running Dead Code Elimination ======================================================================== __IR_DUMP_BEGIN__: stageId=16 stageName=Dead Code Elimination subKind=before Printing IR Dead Code Elimination - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I5:tauhastype t1,cls:java/lang/String[] -) t2:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L18 I28:L8: bcmap:4 I7:tausafe() -) t4:tau I8:tauunsafe() -) t5:tau GOTO L18 Block L18: Predecessors: L8 Successors: L24 I45:L18: bcmap:unknown I46:--- MethodEntry(a::_init_): () bcmap:4 I64:copy t3 -) t17:cls:a I66:copy t24 -) t18:tau I67:copy t24 -) t19:tau I37:tauunsafe() -) t20:tau GOTO L24 Block L24: Predecessors: L18 Successors: L21 I59:L24: bcmap:unknown I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I68:copy t3 -) t21:cls:java/lang/Object I69:copy t24 -) t22:tau I70:copy t24 -) t23:tau GOTO L21 Block L21: Predecessors: L24 Successors: L14 I56:L21: bcmap:unknown I61:+++ MethodEnd(java/lang/Object::_init_) () GOTO L14 Block L14: Predecessors: L21 Successors: L9 I41:L14: bcmap:unknown I47:+++ MethodEnd(a::_init_) () GOTO L9 Block L9: Predecessors: L14 Successors: L1 I29:L9: bcmap:8 I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L9 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I71:copy t24 -) t10:tau I17:call a::work(t3) ((t9,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=16 stageName=Dead Code Elimination subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=16 stageName=Dead Code Elimination subKind=after Printing IR Dead Code Elimination - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I17:call a::work(t3) ((t9,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=16 stageName=Dead Code Elimination subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=16 stageGroup=HLO stageName=Dead Code Elimination stageTag=dce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=17 stageGroup=HLO stageName=Unreachable Code Elimination stageTag=uce ======================================================================== Opt: Running Unreachable Code Elimination ======================================================================== __IR_DUMP_BEGIN__: stageId=17 stageName=Unreachable Code Elimination subKind=before Printing IR Unreachable Code Elimination - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I17:call a::work(t3) ((t9,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=17 stageName=Unreachable Code Elimination subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=17 stageName=Unreachable Code Elimination subKind=after Printing IR Unreachable Code Elimination - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I17:call a::work(t3) ((t9,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=17 stageName=Unreachable Code Elimination subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=17 stageGroup=HLO stageName=Unreachable Code Elimination stageTag=uce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=18 stageGroup=HLO stageName=Lazy Exception Throwing Optimization stageTag=lazyexc ======================================================================== Opt: Running Lazy Exception Throwing Optimization ======================================================================== __IR_DUMP_BEGIN__: stageId=18 stageName=Lazy Exception Throwing Optimization subKind=before Printing IR Lazy Exception Throwing Optimization - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I17:call a::work(t3) ((t9,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=18 stageName=Lazy Exception Throwing Optimization subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=18 stageName=Lazy Exception Throwing Optimization subKind=after Printing IR Lazy Exception Throwing Optimization - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I17:call a::work(t3) ((t9,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=18 stageName=Lazy Exception Throwing Optimization subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=18 stageGroup=HLO stageName=Lazy Exception Throwing Optimization stageTag=lazyexc ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=19 stageGroup=HLO stageName=Throw Instruction Eliminator stageTag=throwopt ======================================================================== Opt: Running Throw Instruction Eliminator ======================================================================== __IR_DUMP_BEGIN__: stageId=19 stageName=Throw Instruction Eliminator subKind=before Printing IR Throw Instruction Eliminator - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I17:call a::work(t3) ((t9,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=19 stageName=Throw Instruction Eliminator subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=19 stageName=Throw Instruction Eliminator subKind=after Printing IR Throw Instruction Eliminator - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I17:call a::work(t3) ((t9,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=19 stageName=Throw Instruction Eliminator subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=19 stageGroup=HLO stageName=Throw Instruction Eliminator stageTag=throwopt ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=20 stageGroup=HLO stageName=Hash Value Numbering (CSE) stageTag=hvn ======================================================================== Opt: Running Hash Value Numbering (CSE) ======================================================================== __IR_DUMP_BEGIN__: stageId=20 stageName=Hash Value Numbering (CSE) subKind=before Printing IR Hash Value Numbering (CSE) - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I15:tausafe() -) t9:tau I17:call a::work(t3) ((t9,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=20 stageName=Hash Value Numbering (CSE) subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=20 stageName=Hash Value Numbering (CSE) subKind=after Printing IR Hash Value Numbering (CSE) - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I73:tauunsafe() -) t26:tau I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I72:tauedge() -) t25:tau I74:copy t24 -) t9:tau I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I75:tauedge() -) t27:tau I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=20 stageName=Hash Value Numbering (CSE) subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=20 stageGroup=HLO stageName=Hash Value Numbering (CSE) stageTag=hvn ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=21 stageGroup=HLO stageName=Perform simplification pass stageTag=simplify ======================================================================== Opt: Running Perform simplification pass ======================================================================== __IR_DUMP_BEGIN__: stageId=21 stageName=Perform simplification pass subKind=before Printing IR Perform simplification pass - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I73:tauunsafe() -) t26:tau I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I72:tauedge() -) t25:tau I74:copy t24 -) t9:tau I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I75:tauedge() -) t27:tau I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=21 stageName=Perform simplification pass subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=21 stageName=Perform simplification pass subKind=after Printing IR Perform simplification pass - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I73:tauunsafe() -) t26:tau I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I72:tauedge() -) t25:tau I76:copy t24 -) t9:tau I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I75:tauedge() -) t27:tau I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=21 stageName=Perform simplification pass subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=21 stageGroup=HLO stageName=Perform simplification pass stageTag=simplify ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=22 stageGroup=HLO stageName=Dead Code Elimination stageTag=dce ======================================================================== Opt: Running Dead Code Elimination ======================================================================== __IR_DUMP_BEGIN__: stageId=22 stageName=Dead Code Elimination subKind=before Printing IR Dead Code Elimination - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I73:tauunsafe() -) t26:tau I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I72:tauedge() -) t25:tau I76:copy t24 -) t9:tau I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I75:tauedge() -) t27:tau I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=22 stageName=Dead Code Elimination subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=22 stageName=Dead Code Elimination subKind=after Printing IR Dead Code Elimination - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=22 stageName=Dead Code Elimination subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=22 stageGroup=HLO stageName=Dead Code Elimination stageTag=dce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=23 stageGroup=HLO stageName=Unreachable Code Elimination stageTag=uce ======================================================================== Opt: Running Unreachable Code Elimination ======================================================================== __IR_DUMP_BEGIN__: stageId=23 stageName=Unreachable Code Elimination subKind=before Printing IR Unreachable Code Elimination - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=23 stageName=Unreachable Code Elimination subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=23 stageName=Unreachable Code Elimination subKind=after Printing IR Unreachable Code Elimination - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=23 stageName=Unreachable Code Elimination subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=23 stageGroup=HLO stageName=Unreachable Code Elimination stageTag=uce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=24 stageGroup=HLO stageName=Escape Analysis stageTag=escape ======================================================================== Opt: Running Escape Analysis ======================================================================== __IR_DUMP_BEGIN__: stageId=24 stageName=Escape Analysis subKind=before Printing IR Escape Analysis - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=24 stageName=Escape Analysis subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=24 stageName=Escape Analysis subKind=after Printing IR Escape Analysis - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=24 stageName=Escape Analysis subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=24 stageGroup=HLO stageName=Escape Analysis stageTag=escape ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=25 stageGroup=HLO stageName=Dead Code Elimination stageTag=dce ======================================================================== Opt: Running Dead Code Elimination ======================================================================== __IR_DUMP_BEGIN__: stageId=25 stageName=Dead Code Elimination subKind=before Printing IR Dead Code Elimination - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=25 stageName=Dead Code Elimination subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=25 stageName=Dead Code Elimination subKind=after Printing IR Dead Code Elimination - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=25 stageName=Dead Code Elimination subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=25 stageGroup=HLO stageName=Dead Code Elimination stageTag=dce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=26 stageGroup=HLO stageName=Unreachable Code Elimination stageTag=uce ======================================================================== Opt: Running Unreachable Code Elimination ======================================================================== __IR_DUMP_BEGIN__: stageId=26 stageName=Unreachable Code Elimination subKind=before Printing IR Unreachable Code Elimination - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=26 stageName=Unreachable Code Elimination subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=26 stageName=Unreachable Code Elimination subKind=after Printing IR Unreachable Code Elimination - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=26 stageName=Unreachable Code Elimination subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=26 stageGroup=HLO stageName=Unreachable Code Elimination stageTag=uce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=27 stageGroup=HLO stageName=Redundant Ld-St Elimination stageTag=memopt ======================================================================== Opt: Running Redundant Ld-St Elimination ======================================================================== __IR_DUMP_BEGIN__: stageId=27 stageName=Redundant Ld-St Elimination subKind=before Printing IR Redundant Ld-St Elimination - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=27 stageName=Redundant Ld-St Elimination subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=27 stageName=Redundant Ld-St Elimination subKind=after Printing IR Redundant Ld-St Elimination - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I78:tauunsafe() -) t29:tau I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I77:tauedge() -) t28:tau I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I79:tauedge() -) t30:tau I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=27 stageName=Redundant Ld-St Elimination subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=27 stageGroup=HLO stageName=Redundant Ld-St Elimination stageTag=memopt ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=28 stageGroup=HLO stageName=Perform simplification pass stageTag=simplify ======================================================================== Opt: Running Perform simplification pass ======================================================================== __IR_DUMP_BEGIN__: stageId=28 stageName=Perform simplification pass subKind=before Printing IR Perform simplification pass - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I78:tauunsafe() -) t29:tau I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I77:tauedge() -) t28:tau I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I79:tauedge() -) t30:tau I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=28 stageName=Perform simplification pass subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=28 stageName=Perform simplification pass subKind=after Printing IR Perform simplification pass - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I78:tauunsafe() -) t29:tau I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I77:tauedge() -) t28:tau I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I79:tauedge() -) t30:tau I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=28 stageName=Perform simplification pass subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=28 stageGroup=HLO stageName=Perform simplification pass stageTag=simplify ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=29 stageGroup=HLO stageName=Dead Code Elimination stageTag=dce ======================================================================== Opt: Running Dead Code Elimination ======================================================================== __IR_DUMP_BEGIN__: stageId=29 stageName=Dead Code Elimination subKind=before Printing IR Dead Code Elimination - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I78:tauunsafe() -) t29:tau I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I77:tauedge() -) t28:tau I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I79:tauedge() -) t30:tau I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=29 stageName=Dead Code Elimination subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=29 stageName=Dead Code Elimination subKind=after Printing IR Dead Code Elimination - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=29 stageName=Dead Code Elimination subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=29 stageGroup=HLO stageName=Dead Code Elimination stageTag=dce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=30 stageGroup=HLO stageName=Unreachable Code Elimination stageTag=uce ======================================================================== Opt: Running Unreachable Code Elimination ======================================================================== __IR_DUMP_BEGIN__: stageId=30 stageName=Unreachable Code Elimination subKind=before Printing IR Unreachable Code Elimination - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=30 stageName=Unreachable Code Elimination subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=30 stageName=Unreachable Code Elimination subKind=after Printing IR Unreachable Code Elimination - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=30 stageName=Unreachable Code Elimination subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=30 stageGroup=HLO stageName=Unreachable Code Elimination stageTag=uce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=31 stageGroup=HLO stageName=Code Lowering / Fast Path Inlining stageTag=lower ======================================================================== Opt: Running Code Lowering / Fast Path Inlining ======================================================================== __IR_DUMP_BEGIN__: stageId=31 stageName=Code Lowering / Fast Path Inlining subKind=before Printing IR Code Lowering / Fast Path Inlining - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) t24:tau I6:newobj cls:a -) t3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) t7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 t7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(t3) ((t24,t24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add t7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=31 stageName=Code Lowering / Fast Path Inlining subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=31 stageName=Code Lowering / Fast Path Inlining subKind=after Printing IR Code Lowering / Fast Path Inlining - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) g7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 g7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add g7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=31 stageName=Code Lowering / Fast Path Inlining subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=31 stageGroup=HLO stageName=Code Lowering / Fast Path Inlining stageTag=lower ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=32 stageGroup=HLO stageName=Perform edge annotation pass based on static heuristics stageTag=statprof ======================================================================== Opt: Running Perform edge annotation pass based on static heuristics ======================================================================== __IR_DUMP_BEGIN__: stageId=32 stageName=Perform edge annotation pass based on static heuristics subKind=before Printing IR Perform edge annotation pass based on static heuristics - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) g7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 g7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add g7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=32 stageName=Perform edge annotation pass based on static heuristics subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=32 stageName=Perform edge annotation pass based on static heuristics subKind=after Printing IR Perform edge annotation pass based on static heuristics - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) g7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 g7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add g7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=32 stageName=Perform edge annotation pass based on static heuristics subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=32 stageGroup=HLO stageName=Perform edge annotation pass based on static heuristics stageTag=statprof ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=33 stageGroup=HLO stageName=Loop Unrolling stageTag=unroll ======================================================================== Opt: Running Loop Unrolling ======================================================================== __IR_DUMP_BEGIN__: stageId=33 stageName=Loop Unrolling subKind=before Printing IR Loop Unrolling - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L1 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.14:int32 GOTO L1 Block L1: Predecessors: L10 L8 Successors: L3 L2 I1:L1: bcmap:12 I32:phi(v1.14, v1.16) -) v1.15:int32 I12:ldvar v1.15 -) g7:int32 I13:ldci4 #20000 -) t8:int32 I14:if cge.i4 g7, t8 goto L3 GOTO L2 Block L2: Predecessors: L1 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block UNWIND: Predecessors: ENTRY_L0 L2 Successors: EXIT I26:L6: GOTO EXIT Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I19:add g7, t12 -) t13:int32 I20:stvar t13 -) v1.16:int32 GOTO L1 Block L3: Predecessors: L1 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=33 stageName=Loop Unrolling subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=33 stageName=Loop Unrolling subKind=after Printing IR Loop Unrolling - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L26 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1:int32 GOTO L26 Block L26: Predecessors: L8 Successors: L31 I81:L26: bcmap:12 I82:ldvar v1 -) t31:int32 I86:stvar t31 -) v2:int32 I87:ldci4 #20000 -) t34:int32 GOTO L31 Block L31: Predecessors: L26 Successors: L25 I104:L31: bcmap:unknown I105:ldci4 #8 -) t44:int32 I106:sub t34, t44 -) t45:int32 GOTO L25 Block L25: Predecessors: L31 L59 Successors: L27 L2 I80:L25: bcmap:unknown I84:ldvar v2 -) t32:int32 I88:ldci4 #20000 -) t35:int32 I14:if cge.i4 t32, t45 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I85:ldvar v2 -) t33:int32 I19:add t33, t12 -) t13:int32 I20:stvar t13 -) v1:int32 GOTO L1 Block L1: Predecessors: L10 Successors: L32 I1:L1: bcmap:12 I12:ldvar v1 -) g7:int32 I83:stvar g7 -) v2:int32 I13:ldci4 #20000 -) t8:int32 GOTO L32 Block L32: Predecessors: L1 Successors: L33 I107:L32: bcmap:unknown I108:ldvar v2 -) t46:int32 I109:ldci4 #20000 -) t47:int32 GOTO L33 Block L33: Predecessors: L32 Successors: L34 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L34 Block L34: Predecessors: L33 Successors: L35 I113:L34: bcmap:24 I114:ldci4 #1 -) t49:int32 I115:ldvar v2 -) t50:int32 I116:add t50, t49 -) t51:int32 I117:stvar t51 -) v1:int32 GOTO L35 Block L35: Predecessors: L34 Successors: L36 I118:L35: bcmap:12 I119:ldvar v1 -) t52:int32 I120:stvar t52 -) v2:int32 I121:ldci4 #20000 -) t53:int32 GOTO L36 Block L36: Predecessors: L35 Successors: L37 I122:L36: bcmap:unknown I123:ldvar v2 -) t54:int32 I124:ldci4 #20000 -) t55:int32 GOTO L37 Block L37: Predecessors: L36 Successors: L38 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L38 Block L38: Predecessors: L37 Successors: L39 I128:L38: bcmap:24 I129:ldci4 #1 -) t57:int32 I130:ldvar v2 -) t58:int32 I131:add t58, t57 -) t59:int32 I132:stvar t59 -) v1:int32 GOTO L39 Block L39: Predecessors: L38 Successors: L40 I133:L39: bcmap:12 I134:ldvar v1 -) t60:int32 I135:stvar t60 -) v2:int32 I136:ldci4 #20000 -) t61:int32 GOTO L40 Block L40: Predecessors: L39 Successors: L41 I137:L40: bcmap:unknown I138:ldvar v2 -) t62:int32 I139:ldci4 #20000 -) t63:int32 GOTO L41 Block L41: Predecessors: L40 Successors: L42 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L42 Block L42: Predecessors: L41 Successors: L43 I143:L42: bcmap:24 I144:ldci4 #1 -) t65:int32 I145:ldvar v2 -) t66:int32 I146:add t66, t65 -) t67:int32 I147:stvar t67 -) v1:int32 GOTO L43 Block L43: Predecessors: L42 Successors: L44 I148:L43: bcmap:12 I149:ldvar v1 -) t68:int32 I150:stvar t68 -) v2:int32 I151:ldci4 #20000 -) t69:int32 GOTO L44 Block L44: Predecessors: L43 Successors: L45 I152:L44: bcmap:unknown I153:ldvar v2 -) t70:int32 I154:ldci4 #20000 -) t71:int32 GOTO L45 Block L45: Predecessors: L44 Successors: L46 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L46 Block L46: Predecessors: L45 Successors: L47 I158:L46: bcmap:24 I159:ldci4 #1 -) t73:int32 I160:ldvar v2 -) t74:int32 I161:add t74, t73 -) t75:int32 I162:stvar t75 -) v1:int32 GOTO L47 Block L47: Predecessors: L46 Successors: L48 I163:L47: bcmap:12 I164:ldvar v1 -) t76:int32 I165:stvar t76 -) v2:int32 I166:ldci4 #20000 -) t77:int32 GOTO L48 Block L48: Predecessors: L47 Successors: L49 I167:L48: bcmap:unknown I168:ldvar v2 -) t78:int32 I169:ldci4 #20000 -) t79:int32 GOTO L49 Block L49: Predecessors: L48 Successors: L50 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L50 Block L50: Predecessors: L49 Successors: L51 I173:L50: bcmap:24 I174:ldci4 #1 -) t81:int32 I175:ldvar v2 -) t82:int32 I176:add t82, t81 -) t83:int32 I177:stvar t83 -) v1:int32 GOTO L51 Block L51: Predecessors: L50 Successors: L52 I178:L51: bcmap:12 I179:ldvar v1 -) t84:int32 I180:stvar t84 -) v2:int32 I181:ldci4 #20000 -) t85:int32 GOTO L52 Block L52: Predecessors: L51 Successors: L53 I182:L52: bcmap:unknown I183:ldvar v2 -) t86:int32 I184:ldci4 #20000 -) t87:int32 GOTO L53 Block L53: Predecessors: L52 Successors: L54 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L54 Block L54: Predecessors: L53 Successors: L55 I188:L54: bcmap:24 I189:ldci4 #1 -) t89:int32 I190:ldvar v2 -) t90:int32 I191:add t90, t89 -) t91:int32 I192:stvar t91 -) v1:int32 GOTO L55 Block L55: Predecessors: L54 Successors: L56 I193:L55: bcmap:12 I194:ldvar v1 -) t92:int32 I195:stvar t92 -) v2:int32 I196:ldci4 #20000 -) t93:int32 GOTO L56 Block L56: Predecessors: L55 Successors: L57 I197:L56: bcmap:unknown I198:ldvar v2 -) t94:int32 I199:ldci4 #20000 -) t95:int32 GOTO L57 Block L57: Predecessors: L56 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L59 I203:L58: bcmap:24 I204:ldci4 #1 -) t97:int32 I205:ldvar v2 -) t98:int32 I206:add t98, t97 -) t99:int32 I207:stvar t99 -) v1:int32 GOTO L59 Block L59: Predecessors: L58 Successors: L25 I208:L59: bcmap:12 I209:ldvar v1 -) t100:int32 I210:stvar t100 -) v2:int32 I211:ldci4 #20000 -) t101:int32 GOTO L25 Block L27: Predecessors: L30 L25 Successors: L3 L28 I89:L27: bcmap:unknown I90:ldvar v2 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L30 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2 -) t40:int32 I98:add t40, t39 -) t41:int32 I99:stvar t41 -) v1:int32 GOTO L30 Block L30: Predecessors: L29 Successors: L27 I100:L30: bcmap:12 I101:ldvar v1 -) t42:int32 I102:stvar t42 -) v2:int32 I103:ldci4 #20000 -) t43:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=33 stageName=Loop Unrolling subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=33 stageGroup=HLO stageName=Loop Unrolling stageTag=unroll ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=34 stageGroup=HLO stageName=SSA Construction stageTag=ssa ======================================================================== Opt: Running SSA Construction ======================================================================== __IR_DUMP_BEGIN__: stageId=34 stageName=SSA Construction subKind=before Printing IR SSA Construction - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L26 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1:int32 GOTO L26 Block L26: Predecessors: L8 Successors: L31 I81:L26: bcmap:12 I82:ldvar v1 -) t31:int32 I86:stvar t31 -) v2:int32 I87:ldci4 #20000 -) t34:int32 GOTO L31 Block L31: Predecessors: L26 Successors: L25 I104:L31: bcmap:unknown I105:ldci4 #8 -) t44:int32 I106:sub t34, t44 -) t45:int32 GOTO L25 Block L25: Predecessors: L31 L59 Successors: L27 L2 I80:L25: bcmap:unknown I84:ldvar v2 -) t32:int32 I88:ldci4 #20000 -) t35:int32 I14:if cge.i4 t32, t45 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I85:ldvar v2 -) t33:int32 I19:add t33, t12 -) t13:int32 I20:stvar t13 -) v1:int32 GOTO L1 Block L1: Predecessors: L10 Successors: L32 I1:L1: bcmap:12 I12:ldvar v1 -) g7:int32 I83:stvar g7 -) v2:int32 I13:ldci4 #20000 -) t8:int32 GOTO L32 Block L32: Predecessors: L1 Successors: L33 I107:L32: bcmap:unknown I108:ldvar v2 -) t46:int32 I109:ldci4 #20000 -) t47:int32 GOTO L33 Block L33: Predecessors: L32 Successors: L34 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L34 Block L34: Predecessors: L33 Successors: L35 I113:L34: bcmap:24 I114:ldci4 #1 -) t49:int32 I115:ldvar v2 -) t50:int32 I116:add t50, t49 -) t51:int32 I117:stvar t51 -) v1:int32 GOTO L35 Block L35: Predecessors: L34 Successors: L36 I118:L35: bcmap:12 I119:ldvar v1 -) t52:int32 I120:stvar t52 -) v2:int32 I121:ldci4 #20000 -) t53:int32 GOTO L36 Block L36: Predecessors: L35 Successors: L37 I122:L36: bcmap:unknown I123:ldvar v2 -) t54:int32 I124:ldci4 #20000 -) t55:int32 GOTO L37 Block L37: Predecessors: L36 Successors: L38 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L38 Block L38: Predecessors: L37 Successors: L39 I128:L38: bcmap:24 I129:ldci4 #1 -) t57:int32 I130:ldvar v2 -) t58:int32 I131:add t58, t57 -) t59:int32 I132:stvar t59 -) v1:int32 GOTO L39 Block L39: Predecessors: L38 Successors: L40 I133:L39: bcmap:12 I134:ldvar v1 -) t60:int32 I135:stvar t60 -) v2:int32 I136:ldci4 #20000 -) t61:int32 GOTO L40 Block L40: Predecessors: L39 Successors: L41 I137:L40: bcmap:unknown I138:ldvar v2 -) t62:int32 I139:ldci4 #20000 -) t63:int32 GOTO L41 Block L41: Predecessors: L40 Successors: L42 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L42 Block L42: Predecessors: L41 Successors: L43 I143:L42: bcmap:24 I144:ldci4 #1 -) t65:int32 I145:ldvar v2 -) t66:int32 I146:add t66, t65 -) t67:int32 I147:stvar t67 -) v1:int32 GOTO L43 Block L43: Predecessors: L42 Successors: L44 I148:L43: bcmap:12 I149:ldvar v1 -) t68:int32 I150:stvar t68 -) v2:int32 I151:ldci4 #20000 -) t69:int32 GOTO L44 Block L44: Predecessors: L43 Successors: L45 I152:L44: bcmap:unknown I153:ldvar v2 -) t70:int32 I154:ldci4 #20000 -) t71:int32 GOTO L45 Block L45: Predecessors: L44 Successors: L46 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L46 Block L46: Predecessors: L45 Successors: L47 I158:L46: bcmap:24 I159:ldci4 #1 -) t73:int32 I160:ldvar v2 -) t74:int32 I161:add t74, t73 -) t75:int32 I162:stvar t75 -) v1:int32 GOTO L47 Block L47: Predecessors: L46 Successors: L48 I163:L47: bcmap:12 I164:ldvar v1 -) t76:int32 I165:stvar t76 -) v2:int32 I166:ldci4 #20000 -) t77:int32 GOTO L48 Block L48: Predecessors: L47 Successors: L49 I167:L48: bcmap:unknown I168:ldvar v2 -) t78:int32 I169:ldci4 #20000 -) t79:int32 GOTO L49 Block L49: Predecessors: L48 Successors: L50 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L50 Block L50: Predecessors: L49 Successors: L51 I173:L50: bcmap:24 I174:ldci4 #1 -) t81:int32 I175:ldvar v2 -) t82:int32 I176:add t82, t81 -) t83:int32 I177:stvar t83 -) v1:int32 GOTO L51 Block L51: Predecessors: L50 Successors: L52 I178:L51: bcmap:12 I179:ldvar v1 -) t84:int32 I180:stvar t84 -) v2:int32 I181:ldci4 #20000 -) t85:int32 GOTO L52 Block L52: Predecessors: L51 Successors: L53 I182:L52: bcmap:unknown I183:ldvar v2 -) t86:int32 I184:ldci4 #20000 -) t87:int32 GOTO L53 Block L53: Predecessors: L52 Successors: L54 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L54 Block L54: Predecessors: L53 Successors: L55 I188:L54: bcmap:24 I189:ldci4 #1 -) t89:int32 I190:ldvar v2 -) t90:int32 I191:add t90, t89 -) t91:int32 I192:stvar t91 -) v1:int32 GOTO L55 Block L55: Predecessors: L54 Successors: L56 I193:L55: bcmap:12 I194:ldvar v1 -) t92:int32 I195:stvar t92 -) v2:int32 I196:ldci4 #20000 -) t93:int32 GOTO L56 Block L56: Predecessors: L55 Successors: L57 I197:L56: bcmap:unknown I198:ldvar v2 -) t94:int32 I199:ldci4 #20000 -) t95:int32 GOTO L57 Block L57: Predecessors: L56 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L59 I203:L58: bcmap:24 I204:ldci4 #1 -) t97:int32 I205:ldvar v2 -) t98:int32 I206:add t98, t97 -) t99:int32 I207:stvar t99 -) v1:int32 GOTO L59 Block L59: Predecessors: L58 Successors: L25 I208:L59: bcmap:12 I209:ldvar v1 -) t100:int32 I210:stvar t100 -) v2:int32 I211:ldci4 #20000 -) t101:int32 GOTO L25 Block L27: Predecessors: L30 L25 Successors: L3 L28 I89:L27: bcmap:unknown I90:ldvar v2 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L30 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2 -) t40:int32 I98:add t40, t39 -) t41:int32 I99:stvar t41 -) v1:int32 GOTO L30 Block L30: Predecessors: L29 Successors: L27 I100:L30: bcmap:12 I101:ldvar v1 -) t42:int32 I102:stvar t42 -) v2:int32 I103:ldci4 #20000 -) t43:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=34 stageName=SSA Construction subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=34 stageName=SSA Construction subKind=after Printing IR SSA Construction - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L26 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.102:int32 GOTO L26 Block L26: Predecessors: L8 Successors: L31 I81:L26: bcmap:12 I82:ldvar v1.102 -) t31:int32 I86:stvar t31 -) v2.103:int32 I87:ldci4 #20000 -) t34:int32 GOTO L31 Block L31: Predecessors: L26 Successors: L25 I104:L31: bcmap:unknown I105:ldci4 #8 -) t44:int32 I106:sub t34, t44 -) t45:int32 GOTO L25 Block L25: Predecessors: L31 L59 Successors: L27 L2 I80:L25: bcmap:unknown I214:phi(v1.102, v1.120) -) v1.104:int32 I212:phi(v2.103, v2.121) -) v2.105:int32 I84:ldvar v2.105 -) t32:int32 I88:ldci4 #20000 -) t35:int32 I14:if cge.i4 t32, t45 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I85:ldvar v2.105 -) t33:int32 I19:add t33, t12 -) t13:int32 I20:stvar t13 -) v1.106:int32 GOTO L1 Block L1: Predecessors: L10 Successors: L32 I1:L1: bcmap:12 I12:ldvar v1.106 -) g7:int32 I83:stvar g7 -) v2.107:int32 I13:ldci4 #20000 -) t8:int32 GOTO L32 Block L32: Predecessors: L1 Successors: L33 I107:L32: bcmap:unknown I108:ldvar v2.107 -) t46:int32 I109:ldci4 #20000 -) t47:int32 GOTO L33 Block L33: Predecessors: L32 Successors: L34 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L34 Block L34: Predecessors: L33 Successors: L35 I113:L34: bcmap:24 I114:ldci4 #1 -) t49:int32 I115:ldvar v2.107 -) t50:int32 I116:add t50, t49 -) t51:int32 I117:stvar t51 -) v1.108:int32 GOTO L35 Block L35: Predecessors: L34 Successors: L36 I118:L35: bcmap:12 I119:ldvar v1.108 -) t52:int32 I120:stvar t52 -) v2.109:int32 I121:ldci4 #20000 -) t53:int32 GOTO L36 Block L36: Predecessors: L35 Successors: L37 I122:L36: bcmap:unknown I123:ldvar v2.109 -) t54:int32 I124:ldci4 #20000 -) t55:int32 GOTO L37 Block L37: Predecessors: L36 Successors: L38 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L38 Block L38: Predecessors: L37 Successors: L39 I128:L38: bcmap:24 I129:ldci4 #1 -) t57:int32 I130:ldvar v2.109 -) t58:int32 I131:add t58, t57 -) t59:int32 I132:stvar t59 -) v1.110:int32 GOTO L39 Block L39: Predecessors: L38 Successors: L40 I133:L39: bcmap:12 I134:ldvar v1.110 -) t60:int32 I135:stvar t60 -) v2.111:int32 I136:ldci4 #20000 -) t61:int32 GOTO L40 Block L40: Predecessors: L39 Successors: L41 I137:L40: bcmap:unknown I138:ldvar v2.111 -) t62:int32 I139:ldci4 #20000 -) t63:int32 GOTO L41 Block L41: Predecessors: L40 Successors: L42 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L42 Block L42: Predecessors: L41 Successors: L43 I143:L42: bcmap:24 I144:ldci4 #1 -) t65:int32 I145:ldvar v2.111 -) t66:int32 I146:add t66, t65 -) t67:int32 I147:stvar t67 -) v1.112:int32 GOTO L43 Block L43: Predecessors: L42 Successors: L44 I148:L43: bcmap:12 I149:ldvar v1.112 -) t68:int32 I150:stvar t68 -) v2.113:int32 I151:ldci4 #20000 -) t69:int32 GOTO L44 Block L44: Predecessors: L43 Successors: L45 I152:L44: bcmap:unknown I153:ldvar v2.113 -) t70:int32 I154:ldci4 #20000 -) t71:int32 GOTO L45 Block L45: Predecessors: L44 Successors: L46 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L46 Block L46: Predecessors: L45 Successors: L47 I158:L46: bcmap:24 I159:ldci4 #1 -) t73:int32 I160:ldvar v2.113 -) t74:int32 I161:add t74, t73 -) t75:int32 I162:stvar t75 -) v1.114:int32 GOTO L47 Block L47: Predecessors: L46 Successors: L48 I163:L47: bcmap:12 I164:ldvar v1.114 -) t76:int32 I165:stvar t76 -) v2.115:int32 I166:ldci4 #20000 -) t77:int32 GOTO L48 Block L48: Predecessors: L47 Successors: L49 I167:L48: bcmap:unknown I168:ldvar v2.115 -) t78:int32 I169:ldci4 #20000 -) t79:int32 GOTO L49 Block L49: Predecessors: L48 Successors: L50 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L50 Block L50: Predecessors: L49 Successors: L51 I173:L50: bcmap:24 I174:ldci4 #1 -) t81:int32 I175:ldvar v2.115 -) t82:int32 I176:add t82, t81 -) t83:int32 I177:stvar t83 -) v1.116:int32 GOTO L51 Block L51: Predecessors: L50 Successors: L52 I178:L51: bcmap:12 I179:ldvar v1.116 -) t84:int32 I180:stvar t84 -) v2.117:int32 I181:ldci4 #20000 -) t85:int32 GOTO L52 Block L52: Predecessors: L51 Successors: L53 I182:L52: bcmap:unknown I183:ldvar v2.117 -) t86:int32 I184:ldci4 #20000 -) t87:int32 GOTO L53 Block L53: Predecessors: L52 Successors: L54 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L54 Block L54: Predecessors: L53 Successors: L55 I188:L54: bcmap:24 I189:ldci4 #1 -) t89:int32 I190:ldvar v2.117 -) t90:int32 I191:add t90, t89 -) t91:int32 I192:stvar t91 -) v1.118:int32 GOTO L55 Block L55: Predecessors: L54 Successors: L56 I193:L55: bcmap:12 I194:ldvar v1.118 -) t92:int32 I195:stvar t92 -) v2.119:int32 I196:ldci4 #20000 -) t93:int32 GOTO L56 Block L56: Predecessors: L55 Successors: L57 I197:L56: bcmap:unknown I198:ldvar v2.119 -) t94:int32 I199:ldci4 #20000 -) t95:int32 GOTO L57 Block L57: Predecessors: L56 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L59 I203:L58: bcmap:24 I204:ldci4 #1 -) t97:int32 I205:ldvar v2.119 -) t98:int32 I206:add t98, t97 -) t99:int32 I207:stvar t99 -) v1.120:int32 GOTO L59 Block L59: Predecessors: L58 Successors: L25 I208:L59: bcmap:12 I209:ldvar v1.120 -) t100:int32 I210:stvar t100 -) v2.121:int32 I211:ldci4 #20000 -) t101:int32 GOTO L25 Block L27: Predecessors: L30 L25 Successors: L3 L28 I89:L27: bcmap:unknown I215:phi(v1.104, v1.124) -) v1.122:int32 I213:phi(v2.105, v2.125) -) v2.123:int32 I90:ldvar v2.123 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L30 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2.123 -) t40:int32 I98:add t40, t39 -) t41:int32 I99:stvar t41 -) v1.124:int32 GOTO L30 Block L30: Predecessors: L29 Successors: L27 I100:L30: bcmap:12 I101:ldvar v1.124 -) t42:int32 I102:stvar t42 -) v2.125:int32 I103:ldci4 #20000 -) t43:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=34 stageName=SSA Construction subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=34 stageGroup=HLO stageName=SSA Construction stageTag=ssa ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=35 stageGroup=HLO stageName=Perform simplification pass stageTag=simplify ======================================================================== Opt: Running Perform simplification pass ======================================================================== __IR_DUMP_BEGIN__: stageId=35 stageName=Perform simplification pass subKind=before Printing IR Perform simplification pass - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L26 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.102:int32 GOTO L26 Block L26: Predecessors: L8 Successors: L31 I81:L26: bcmap:12 I82:ldvar v1.102 -) t31:int32 I86:stvar t31 -) v2.103:int32 I87:ldci4 #20000 -) t34:int32 GOTO L31 Block L31: Predecessors: L26 Successors: L25 I104:L31: bcmap:unknown I105:ldci4 #8 -) t44:int32 I106:sub t34, t44 -) t45:int32 GOTO L25 Block L25: Predecessors: L31 L59 Successors: L27 L2 I80:L25: bcmap:unknown I214:phi(v1.102, v1.120) -) v1.104:int32 I212:phi(v2.103, v2.121) -) v2.105:int32 I84:ldvar v2.105 -) t32:int32 I88:ldci4 #20000 -) t35:int32 I14:if cge.i4 t32, t45 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I85:ldvar v2.105 -) t33:int32 I19:add t33, t12 -) t13:int32 I20:stvar t13 -) v1.106:int32 GOTO L1 Block L1: Predecessors: L10 Successors: L32 I1:L1: bcmap:12 I12:ldvar v1.106 -) g7:int32 I83:stvar g7 -) v2.107:int32 I13:ldci4 #20000 -) t8:int32 GOTO L32 Block L32: Predecessors: L1 Successors: L33 I107:L32: bcmap:unknown I108:ldvar v2.107 -) t46:int32 I109:ldci4 #20000 -) t47:int32 GOTO L33 Block L33: Predecessors: L32 Successors: L34 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L34 Block L34: Predecessors: L33 Successors: L35 I113:L34: bcmap:24 I114:ldci4 #1 -) t49:int32 I115:ldvar v2.107 -) t50:int32 I116:add t50, t49 -) t51:int32 I117:stvar t51 -) v1.108:int32 GOTO L35 Block L35: Predecessors: L34 Successors: L36 I118:L35: bcmap:12 I119:ldvar v1.108 -) t52:int32 I120:stvar t52 -) v2.109:int32 I121:ldci4 #20000 -) t53:int32 GOTO L36 Block L36: Predecessors: L35 Successors: L37 I122:L36: bcmap:unknown I123:ldvar v2.109 -) t54:int32 I124:ldci4 #20000 -) t55:int32 GOTO L37 Block L37: Predecessors: L36 Successors: L38 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L38 Block L38: Predecessors: L37 Successors: L39 I128:L38: bcmap:24 I129:ldci4 #1 -) t57:int32 I130:ldvar v2.109 -) t58:int32 I131:add t58, t57 -) t59:int32 I132:stvar t59 -) v1.110:int32 GOTO L39 Block L39: Predecessors: L38 Successors: L40 I133:L39: bcmap:12 I134:ldvar v1.110 -) t60:int32 I135:stvar t60 -) v2.111:int32 I136:ldci4 #20000 -) t61:int32 GOTO L40 Block L40: Predecessors: L39 Successors: L41 I137:L40: bcmap:unknown I138:ldvar v2.111 -) t62:int32 I139:ldci4 #20000 -) t63:int32 GOTO L41 Block L41: Predecessors: L40 Successors: L42 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L42 Block L42: Predecessors: L41 Successors: L43 I143:L42: bcmap:24 I144:ldci4 #1 -) t65:int32 I145:ldvar v2.111 -) t66:int32 I146:add t66, t65 -) t67:int32 I147:stvar t67 -) v1.112:int32 GOTO L43 Block L43: Predecessors: L42 Successors: L44 I148:L43: bcmap:12 I149:ldvar v1.112 -) t68:int32 I150:stvar t68 -) v2.113:int32 I151:ldci4 #20000 -) t69:int32 GOTO L44 Block L44: Predecessors: L43 Successors: L45 I152:L44: bcmap:unknown I153:ldvar v2.113 -) t70:int32 I154:ldci4 #20000 -) t71:int32 GOTO L45 Block L45: Predecessors: L44 Successors: L46 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L46 Block L46: Predecessors: L45 Successors: L47 I158:L46: bcmap:24 I159:ldci4 #1 -) t73:int32 I160:ldvar v2.113 -) t74:int32 I161:add t74, t73 -) t75:int32 I162:stvar t75 -) v1.114:int32 GOTO L47 Block L47: Predecessors: L46 Successors: L48 I163:L47: bcmap:12 I164:ldvar v1.114 -) t76:int32 I165:stvar t76 -) v2.115:int32 I166:ldci4 #20000 -) t77:int32 GOTO L48 Block L48: Predecessors: L47 Successors: L49 I167:L48: bcmap:unknown I168:ldvar v2.115 -) t78:int32 I169:ldci4 #20000 -) t79:int32 GOTO L49 Block L49: Predecessors: L48 Successors: L50 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L50 Block L50: Predecessors: L49 Successors: L51 I173:L50: bcmap:24 I174:ldci4 #1 -) t81:int32 I175:ldvar v2.115 -) t82:int32 I176:add t82, t81 -) t83:int32 I177:stvar t83 -) v1.116:int32 GOTO L51 Block L51: Predecessors: L50 Successors: L52 I178:L51: bcmap:12 I179:ldvar v1.116 -) t84:int32 I180:stvar t84 -) v2.117:int32 I181:ldci4 #20000 -) t85:int32 GOTO L52 Block L52: Predecessors: L51 Successors: L53 I182:L52: bcmap:unknown I183:ldvar v2.117 -) t86:int32 I184:ldci4 #20000 -) t87:int32 GOTO L53 Block L53: Predecessors: L52 Successors: L54 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L54 Block L54: Predecessors: L53 Successors: L55 I188:L54: bcmap:24 I189:ldci4 #1 -) t89:int32 I190:ldvar v2.117 -) t90:int32 I191:add t90, t89 -) t91:int32 I192:stvar t91 -) v1.118:int32 GOTO L55 Block L55: Predecessors: L54 Successors: L56 I193:L55: bcmap:12 I194:ldvar v1.118 -) t92:int32 I195:stvar t92 -) v2.119:int32 I196:ldci4 #20000 -) t93:int32 GOTO L56 Block L56: Predecessors: L55 Successors: L57 I197:L56: bcmap:unknown I198:ldvar v2.119 -) t94:int32 I199:ldci4 #20000 -) t95:int32 GOTO L57 Block L57: Predecessors: L56 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L59 I203:L58: bcmap:24 I204:ldci4 #1 -) t97:int32 I205:ldvar v2.119 -) t98:int32 I206:add t98, t97 -) t99:int32 I207:stvar t99 -) v1.120:int32 GOTO L59 Block L59: Predecessors: L58 Successors: L25 I208:L59: bcmap:12 I209:ldvar v1.120 -) t100:int32 I210:stvar t100 -) v2.121:int32 I211:ldci4 #20000 -) t101:int32 GOTO L25 Block L27: Predecessors: L30 L25 Successors: L3 L28 I89:L27: bcmap:unknown I215:phi(v1.104, v1.124) -) v1.122:int32 I213:phi(v2.105, v2.125) -) v2.123:int32 I90:ldvar v2.123 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L30 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2.123 -) t40:int32 I98:add t40, t39 -) t41:int32 I99:stvar t41 -) v1.124:int32 GOTO L30 Block L30: Predecessors: L29 Successors: L27 I100:L30: bcmap:12 I101:ldvar v1.124 -) t42:int32 I102:stvar t42 -) v2.125:int32 I103:ldci4 #20000 -) t43:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=35 stageName=Perform simplification pass subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=35 stageName=Perform simplification pass subKind=after Printing IR Perform simplification pass - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L26 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.102:int32 GOTO L26 Block L26: Predecessors: L8 Successors: L31 I81:L26: bcmap:12 I82:ldvar v1.102 -) t31:int32 I86:stvar t6 -) v2.103:int32 I87:ldci4 #20000 -) t34:int32 GOTO L31 Block L31: Predecessors: L26 Successors: L25 I104:L31: bcmap:unknown I105:ldci4 #8 -) t44:int32 I216:ldci4 #19992 -) t126:int32 I217:copy t126 -) t45:int32 GOTO L25 Block L25: Predecessors: L31 L59 Successors: L27 L2 I80:L25: bcmap:unknown I214:phi(v1.102, v1.120) -) v1.104:int32 I212:phi(v2.103, v2.121) -) v2.105:int32 I84:ldvar v2.105 -) t32:int32 I88:ldci4 #20000 -) t35:int32 I14:if cge.i4 t32, t126 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I85:ldvar v2.105 -) t33:int32 I19:add t33, t12 -) t13:int32 I20:stvar t13 -) v1.106:int32 GOTO L1 Block L1: Predecessors: L10 Successors: L32 I1:L1: bcmap:12 I12:ldvar v1.106 -) g7:int32 I83:stvar t13 -) v2.107:int32 I13:ldci4 #20000 -) t8:int32 GOTO L32 Block L32: Predecessors: L1 Successors: L33 I107:L32: bcmap:unknown I108:ldvar v2.107 -) t46:int32 I109:ldci4 #20000 -) t47:int32 GOTO L33 Block L33: Predecessors: L32 Successors: L34 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L34 Block L34: Predecessors: L33 Successors: L35 I113:L34: bcmap:24 I114:ldci4 #1 -) t49:int32 I115:ldvar v2.107 -) t50:int32 I218:ldci4 #2 -) t127:int32 I219:add t127, t33 -) t128:int32 I220:copy t128 -) t51:int32 I117:stvar t128 -) v1.108:int32 GOTO L35 Block L35: Predecessors: L34 Successors: L36 I118:L35: bcmap:12 I119:ldvar v1.108 -) t52:int32 I120:stvar t128 -) v2.109:int32 I121:ldci4 #20000 -) t53:int32 GOTO L36 Block L36: Predecessors: L35 Successors: L37 I122:L36: bcmap:unknown I123:ldvar v2.109 -) t54:int32 I124:ldci4 #20000 -) t55:int32 GOTO L37 Block L37: Predecessors: L36 Successors: L38 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L38 Block L38: Predecessors: L37 Successors: L39 I128:L38: bcmap:24 I129:ldci4 #1 -) t57:int32 I130:ldvar v2.109 -) t58:int32 I221:ldci4 #3 -) t129:int32 I222:add t129, t33 -) t130:int32 I223:copy t130 -) t59:int32 I132:stvar t130 -) v1.110:int32 GOTO L39 Block L39: Predecessors: L38 Successors: L40 I133:L39: bcmap:12 I134:ldvar v1.110 -) t60:int32 I135:stvar t130 -) v2.111:int32 I136:ldci4 #20000 -) t61:int32 GOTO L40 Block L40: Predecessors: L39 Successors: L41 I137:L40: bcmap:unknown I138:ldvar v2.111 -) t62:int32 I139:ldci4 #20000 -) t63:int32 GOTO L41 Block L41: Predecessors: L40 Successors: L42 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L42 Block L42: Predecessors: L41 Successors: L43 I143:L42: bcmap:24 I144:ldci4 #1 -) t65:int32 I145:ldvar v2.111 -) t66:int32 I224:ldci4 #4 -) t131:int32 I225:add t131, t33 -) t132:int32 I226:copy t132 -) t67:int32 I147:stvar t132 -) v1.112:int32 GOTO L43 Block L43: Predecessors: L42 Successors: L44 I148:L43: bcmap:12 I149:ldvar v1.112 -) t68:int32 I150:stvar t132 -) v2.113:int32 I151:ldci4 #20000 -) t69:int32 GOTO L44 Block L44: Predecessors: L43 Successors: L45 I152:L44: bcmap:unknown I153:ldvar v2.113 -) t70:int32 I154:ldci4 #20000 -) t71:int32 GOTO L45 Block L45: Predecessors: L44 Successors: L46 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L46 Block L46: Predecessors: L45 Successors: L47 I158:L46: bcmap:24 I159:ldci4 #1 -) t73:int32 I160:ldvar v2.113 -) t74:int32 I227:ldci4 #5 -) t133:int32 I228:add t133, t33 -) t134:int32 I229:copy t134 -) t75:int32 I162:stvar t134 -) v1.114:int32 GOTO L47 Block L47: Predecessors: L46 Successors: L48 I163:L47: bcmap:12 I164:ldvar v1.114 -) t76:int32 I165:stvar t134 -) v2.115:int32 I166:ldci4 #20000 -) t77:int32 GOTO L48 Block L48: Predecessors: L47 Successors: L49 I167:L48: bcmap:unknown I168:ldvar v2.115 -) t78:int32 I169:ldci4 #20000 -) t79:int32 GOTO L49 Block L49: Predecessors: L48 Successors: L50 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L50 Block L50: Predecessors: L49 Successors: L51 I173:L50: bcmap:24 I174:ldci4 #1 -) t81:int32 I175:ldvar v2.115 -) t82:int32 I230:ldci4 #6 -) t135:int32 I231:add t135, t33 -) t136:int32 I232:copy t136 -) t83:int32 I177:stvar t136 -) v1.116:int32 GOTO L51 Block L51: Predecessors: L50 Successors: L52 I178:L51: bcmap:12 I179:ldvar v1.116 -) t84:int32 I180:stvar t136 -) v2.117:int32 I181:ldci4 #20000 -) t85:int32 GOTO L52 Block L52: Predecessors: L51 Successors: L53 I182:L52: bcmap:unknown I183:ldvar v2.117 -) t86:int32 I184:ldci4 #20000 -) t87:int32 GOTO L53 Block L53: Predecessors: L52 Successors: L54 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L54 Block L54: Predecessors: L53 Successors: L55 I188:L54: bcmap:24 I189:ldci4 #1 -) t89:int32 I190:ldvar v2.117 -) t90:int32 I233:ldci4 #7 -) t137:int32 I234:add t137, t33 -) t138:int32 I235:copy t138 -) t91:int32 I192:stvar t138 -) v1.118:int32 GOTO L55 Block L55: Predecessors: L54 Successors: L56 I193:L55: bcmap:12 I194:ldvar v1.118 -) t92:int32 I195:stvar t138 -) v2.119:int32 I196:ldci4 #20000 -) t93:int32 GOTO L56 Block L56: Predecessors: L55 Successors: L57 I197:L56: bcmap:unknown I198:ldvar v2.119 -) t94:int32 I199:ldci4 #20000 -) t95:int32 GOTO L57 Block L57: Predecessors: L56 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L59 I203:L58: bcmap:24 I204:ldci4 #1 -) t97:int32 I205:ldvar v2.119 -) t98:int32 I236:ldci4 #8 -) t139:int32 I237:add t139, t33 -) t140:int32 I238:copy t140 -) t99:int32 I207:stvar t140 -) v1.120:int32 GOTO L59 Block L59: Predecessors: L58 Successors: L25 I208:L59: bcmap:12 I209:ldvar v1.120 -) t100:int32 I210:stvar t140 -) v2.121:int32 I211:ldci4 #20000 -) t101:int32 GOTO L25 Block L27: Predecessors: L30 L25 Successors: L3 L28 I89:L27: bcmap:unknown I215:phi(v1.104, v1.124) -) v1.122:int32 I213:phi(v2.105, v2.125) -) v2.123:int32 I90:ldvar v2.123 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L30 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2.123 -) t40:int32 I98:add t40, t39 -) t41:int32 I99:stvar t41 -) v1.124:int32 GOTO L30 Block L30: Predecessors: L29 Successors: L27 I100:L30: bcmap:12 I101:ldvar v1.124 -) t42:int32 I102:stvar t41 -) v2.125:int32 I103:ldci4 #20000 -) t43:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=35 stageName=Perform simplification pass subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=35 stageGroup=HLO stageName=Perform simplification pass stageTag=simplify ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=36 stageGroup=HLO stageName=Dead Code Elimination stageTag=dce ======================================================================== Opt: Running Dead Code Elimination ======================================================================== __IR_DUMP_BEGIN__: stageId=36 stageName=Dead Code Elimination subKind=before Printing IR Dead Code Elimination - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L26 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I11:stvar t6 -) v1.102:int32 GOTO L26 Block L26: Predecessors: L8 Successors: L31 I81:L26: bcmap:12 I82:ldvar v1.102 -) t31:int32 I86:stvar t6 -) v2.103:int32 I87:ldci4 #20000 -) t34:int32 GOTO L31 Block L31: Predecessors: L26 Successors: L25 I104:L31: bcmap:unknown I105:ldci4 #8 -) t44:int32 I216:ldci4 #19992 -) t126:int32 I217:copy t126 -) t45:int32 GOTO L25 Block L25: Predecessors: L31 L59 Successors: L27 L2 I80:L25: bcmap:unknown I214:phi(v1.102, v1.120) -) v1.104:int32 I212:phi(v2.103, v2.121) -) v2.105:int32 I84:ldvar v2.105 -) t32:int32 I88:ldci4 #20000 -) t35:int32 I14:if cge.i4 t32, t126 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L1 I30:L10: bcmap:24 I18:ldci4 #1 -) t12:int32 I85:ldvar v2.105 -) t33:int32 I19:add t33, t12 -) t13:int32 I20:stvar t13 -) v1.106:int32 GOTO L1 Block L1: Predecessors: L10 Successors: L32 I1:L1: bcmap:12 I12:ldvar v1.106 -) g7:int32 I83:stvar t13 -) v2.107:int32 I13:ldci4 #20000 -) t8:int32 GOTO L32 Block L32: Predecessors: L1 Successors: L33 I107:L32: bcmap:unknown I108:ldvar v2.107 -) t46:int32 I109:ldci4 #20000 -) t47:int32 GOTO L33 Block L33: Predecessors: L32 Successors: L34 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L34 Block L34: Predecessors: L33 Successors: L35 I113:L34: bcmap:24 I114:ldci4 #1 -) t49:int32 I115:ldvar v2.107 -) t50:int32 I218:ldci4 #2 -) t127:int32 I219:add t127, t33 -) t128:int32 I220:copy t128 -) t51:int32 I117:stvar t128 -) v1.108:int32 GOTO L35 Block L35: Predecessors: L34 Successors: L36 I118:L35: bcmap:12 I119:ldvar v1.108 -) t52:int32 I120:stvar t128 -) v2.109:int32 I121:ldci4 #20000 -) t53:int32 GOTO L36 Block L36: Predecessors: L35 Successors: L37 I122:L36: bcmap:unknown I123:ldvar v2.109 -) t54:int32 I124:ldci4 #20000 -) t55:int32 GOTO L37 Block L37: Predecessors: L36 Successors: L38 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L38 Block L38: Predecessors: L37 Successors: L39 I128:L38: bcmap:24 I129:ldci4 #1 -) t57:int32 I130:ldvar v2.109 -) t58:int32 I221:ldci4 #3 -) t129:int32 I222:add t129, t33 -) t130:int32 I223:copy t130 -) t59:int32 I132:stvar t130 -) v1.110:int32 GOTO L39 Block L39: Predecessors: L38 Successors: L40 I133:L39: bcmap:12 I134:ldvar v1.110 -) t60:int32 I135:stvar t130 -) v2.111:int32 I136:ldci4 #20000 -) t61:int32 GOTO L40 Block L40: Predecessors: L39 Successors: L41 I137:L40: bcmap:unknown I138:ldvar v2.111 -) t62:int32 I139:ldci4 #20000 -) t63:int32 GOTO L41 Block L41: Predecessors: L40 Successors: L42 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L42 Block L42: Predecessors: L41 Successors: L43 I143:L42: bcmap:24 I144:ldci4 #1 -) t65:int32 I145:ldvar v2.111 -) t66:int32 I224:ldci4 #4 -) t131:int32 I225:add t131, t33 -) t132:int32 I226:copy t132 -) t67:int32 I147:stvar t132 -) v1.112:int32 GOTO L43 Block L43: Predecessors: L42 Successors: L44 I148:L43: bcmap:12 I149:ldvar v1.112 -) t68:int32 I150:stvar t132 -) v2.113:int32 I151:ldci4 #20000 -) t69:int32 GOTO L44 Block L44: Predecessors: L43 Successors: L45 I152:L44: bcmap:unknown I153:ldvar v2.113 -) t70:int32 I154:ldci4 #20000 -) t71:int32 GOTO L45 Block L45: Predecessors: L44 Successors: L46 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L46 Block L46: Predecessors: L45 Successors: L47 I158:L46: bcmap:24 I159:ldci4 #1 -) t73:int32 I160:ldvar v2.113 -) t74:int32 I227:ldci4 #5 -) t133:int32 I228:add t133, t33 -) t134:int32 I229:copy t134 -) t75:int32 I162:stvar t134 -) v1.114:int32 GOTO L47 Block L47: Predecessors: L46 Successors: L48 I163:L47: bcmap:12 I164:ldvar v1.114 -) t76:int32 I165:stvar t134 -) v2.115:int32 I166:ldci4 #20000 -) t77:int32 GOTO L48 Block L48: Predecessors: L47 Successors: L49 I167:L48: bcmap:unknown I168:ldvar v2.115 -) t78:int32 I169:ldci4 #20000 -) t79:int32 GOTO L49 Block L49: Predecessors: L48 Successors: L50 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L50 Block L50: Predecessors: L49 Successors: L51 I173:L50: bcmap:24 I174:ldci4 #1 -) t81:int32 I175:ldvar v2.115 -) t82:int32 I230:ldci4 #6 -) t135:int32 I231:add t135, t33 -) t136:int32 I232:copy t136 -) t83:int32 I177:stvar t136 -) v1.116:int32 GOTO L51 Block L51: Predecessors: L50 Successors: L52 I178:L51: bcmap:12 I179:ldvar v1.116 -) t84:int32 I180:stvar t136 -) v2.117:int32 I181:ldci4 #20000 -) t85:int32 GOTO L52 Block L52: Predecessors: L51 Successors: L53 I182:L52: bcmap:unknown I183:ldvar v2.117 -) t86:int32 I184:ldci4 #20000 -) t87:int32 GOTO L53 Block L53: Predecessors: L52 Successors: L54 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L54 Block L54: Predecessors: L53 Successors: L55 I188:L54: bcmap:24 I189:ldci4 #1 -) t89:int32 I190:ldvar v2.117 -) t90:int32 I233:ldci4 #7 -) t137:int32 I234:add t137, t33 -) t138:int32 I235:copy t138 -) t91:int32 I192:stvar t138 -) v1.118:int32 GOTO L55 Block L55: Predecessors: L54 Successors: L56 I193:L55: bcmap:12 I194:ldvar v1.118 -) t92:int32 I195:stvar t138 -) v2.119:int32 I196:ldci4 #20000 -) t93:int32 GOTO L56 Block L56: Predecessors: L55 Successors: L57 I197:L56: bcmap:unknown I198:ldvar v2.119 -) t94:int32 I199:ldci4 #20000 -) t95:int32 GOTO L57 Block L57: Predecessors: L56 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L59 I203:L58: bcmap:24 I204:ldci4 #1 -) t97:int32 I205:ldvar v2.119 -) t98:int32 I236:ldci4 #8 -) t139:int32 I237:add t139, t33 -) t140:int32 I238:copy t140 -) t99:int32 I207:stvar t140 -) v1.120:int32 GOTO L59 Block L59: Predecessors: L58 Successors: L25 I208:L59: bcmap:12 I209:ldvar v1.120 -) t100:int32 I210:stvar t140 -) v2.121:int32 I211:ldci4 #20000 -) t101:int32 GOTO L25 Block L27: Predecessors: L30 L25 Successors: L3 L28 I89:L27: bcmap:unknown I215:phi(v1.104, v1.124) -) v1.122:int32 I213:phi(v2.105, v2.125) -) v2.123:int32 I90:ldvar v2.123 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L30 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2.123 -) t40:int32 I98:add t40, t39 -) t41:int32 I99:stvar t41 -) v1.124:int32 GOTO L30 Block L30: Predecessors: L29 Successors: L27 I100:L30: bcmap:12 I101:ldvar v1.124 -) t42:int32 I102:stvar t41 -) v2.125:int32 I103:ldci4 #20000 -) t43:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=36 stageName=Dead Code Elimination subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=36 stageName=Dead Code Elimination subKind=after Printing IR Dead Code Elimination - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L25 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I86:stvar t6 -) v2.103:int32 I216:ldci4 #19992 -) t126:int32 GOTO L25 Block L25: Predecessors: L8 L58 Successors: L27 L2 I80:L25: bcmap:unknown I212:phi(v2.103, v2.121) -) v2.105:int32 I84:ldvar v2.105 -) t32:int32 I14:if cge.i4 t32, t126 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L33 I30:L10: bcmap:24 I85:ldvar v2.105 -) t33:int32 GOTO L33 Block L33: Predecessors: L10 Successors: L37 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L37 Block L37: Predecessors: L33 Successors: L41 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L41 Block L41: Predecessors: L37 Successors: L45 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L45 Block L45: Predecessors: L41 Successors: L49 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L49 Block L49: Predecessors: L45 Successors: L53 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L53 Block L53: Predecessors: L49 Successors: L57 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L57 Block L57: Predecessors: L53 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L25 I203:L58: bcmap:24 I236:ldci4 #8 -) t139:int32 I237:add t139, t33 -) t140:int32 I210:stvar t140 -) v2.121:int32 GOTO L25 Block L27: Predecessors: L29 L25 Successors: L3 L28 I89:L27: bcmap:unknown I213:phi(v2.105, v2.125) -) v2.123:int32 I90:ldvar v2.123 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L27 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2.123 -) t40:int32 I98:add t40, t39 -) t41:int32 I102:stvar t41 -) v2.125:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=36 stageName=Dead Code Elimination subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=36 stageGroup=HLO stageName=Dead Code Elimination stageTag=dce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=37 stageGroup=HLO stageName=Unreachable Code Elimination stageTag=uce ======================================================================== Opt: Running Unreachable Code Elimination ======================================================================== __IR_DUMP_BEGIN__: stageId=37 stageName=Unreachable Code Elimination subKind=before Printing IR Unreachable Code Elimination - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L25 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I86:stvar t6 -) v2.103:int32 I216:ldci4 #19992 -) t126:int32 GOTO L25 Block L25: Predecessors: L8 L58 Successors: L27 L2 I80:L25: bcmap:unknown I212:phi(v2.103, v2.121) -) v2.105:int32 I84:ldvar v2.105 -) t32:int32 I14:if cge.i4 t32, t126 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L33 I30:L10: bcmap:24 I85:ldvar v2.105 -) t33:int32 GOTO L33 Block L33: Predecessors: L10 Successors: L37 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L37 Block L37: Predecessors: L33 Successors: L41 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L41 Block L41: Predecessors: L37 Successors: L45 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L45 Block L45: Predecessors: L41 Successors: L49 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L49 Block L49: Predecessors: L45 Successors: L53 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L53 Block L53: Predecessors: L49 Successors: L57 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L57 Block L57: Predecessors: L53 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L25 I203:L58: bcmap:24 I236:ldci4 #8 -) t139:int32 I237:add t139, t33 -) t140:int32 I210:stvar t140 -) v2.121:int32 GOTO L25 Block L27: Predecessors: L29 L25 Successors: L3 L28 I89:L27: bcmap:unknown I213:phi(v2.105, v2.125) -) v2.123:int32 I90:ldvar v2.123 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L27 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2.123 -) t40:int32 I98:add t40, t39 -) t41:int32 I102:stvar t41 -) v2.125:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=37 stageName=Unreachable Code Elimination subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=37 stageName=Unreachable Code Elimination subKind=after Printing IR Unreachable Code Elimination - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L25 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I86:stvar t6 -) v2.103:int32 I216:ldci4 #19992 -) t126:int32 GOTO L25 Block L25: Predecessors: L8 L58 Successors: L27 L2 I80:L25: bcmap:unknown I212:phi(v2.103, v2.121) -) v2.105:int32 I84:ldvar v2.105 -) t32:int32 I14:if cge.i4 t32, t126 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L33 I30:L10: bcmap:24 I85:ldvar v2.105 -) t33:int32 GOTO L33 Block L33: Predecessors: L10 Successors: L37 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L37 Block L37: Predecessors: L33 Successors: L41 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L41 Block L41: Predecessors: L37 Successors: L45 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L45 Block L45: Predecessors: L41 Successors: L49 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L49 Block L49: Predecessors: L45 Successors: L53 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L53 Block L53: Predecessors: L49 Successors: L57 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L57 Block L57: Predecessors: L53 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L25 I203:L58: bcmap:24 I236:ldci4 #8 -) t139:int32 I237:add t139, t33 -) t140:int32 I210:stvar t140 -) v2.121:int32 GOTO L25 Block L27: Predecessors: L29 L25 Successors: L3 L28 I89:L27: bcmap:unknown I213:phi(v2.105, v2.125) -) v2.123:int32 I90:ldvar v2.123 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L27 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2.123 -) t40:int32 I98:add t40, t39 -) t41:int32 I102:stvar t41 -) v2.125:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=37 stageName=Unreachable Code Elimination subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=37 stageGroup=HLO stageName=Unreachable Code Elimination stageTag=uce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=38 stageGroup=HLO stageName=SSA Deconstruction stageTag=dessa ======================================================================== Opt: Running SSA Deconstruction ======================================================================== __IR_DUMP_BEGIN__: stageId=38 stageName=SSA Deconstruction subKind=before Printing IR SSA Deconstruction - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L25 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I86:stvar t6 -) v2.103:int32 I216:ldci4 #19992 -) t126:int32 GOTO L25 Block L25: Predecessors: L8 L58 Successors: L27 L2 I80:L25: bcmap:unknown I212:phi(v2.103, v2.121) -) v2.105:int32 I84:ldvar v2.105 -) t32:int32 I14:if cge.i4 t32, t126 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L33 I30:L10: bcmap:24 I85:ldvar v2.105 -) t33:int32 GOTO L33 Block L33: Predecessors: L10 Successors: L37 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L37 Block L37: Predecessors: L33 Successors: L41 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L41 Block L41: Predecessors: L37 Successors: L45 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L45 Block L45: Predecessors: L41 Successors: L49 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L49 Block L49: Predecessors: L45 Successors: L53 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L53 Block L53: Predecessors: L49 Successors: L57 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L57 Block L57: Predecessors: L53 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L25 I203:L58: bcmap:24 I236:ldci4 #8 -) t139:int32 I237:add t139, t33 -) t140:int32 I210:stvar t140 -) v2.121:int32 GOTO L25 Block L27: Predecessors: L29 L25 Successors: L3 L28 I89:L27: bcmap:unknown I213:phi(v2.105, v2.125) -) v2.123:int32 I90:ldvar v2.123 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L27 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2.123 -) t40:int32 I98:add t40, t39 -) t41:int32 I102:stvar t41 -) v2.125:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=38 stageName=SSA Deconstruction subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=38 stageName=SSA Deconstruction subKind=after Printing IR SSA Deconstruction - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L25 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I86:stvar t6 -) v2:int32 I216:ldci4 #19992 -) t126:int32 GOTO L25 Block L25: Predecessors: L8 L58 Successors: L27 L2 I80:L25: bcmap:unknown I84:ldvar v2 -) t32:int32 I14:if cge.i4 t32, t126 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L33 I30:L10: bcmap:24 I85:ldvar v2 -) t33:int32 GOTO L33 Block L33: Predecessors: L10 Successors: L37 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L37 Block L37: Predecessors: L33 Successors: L41 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L41 Block L41: Predecessors: L37 Successors: L45 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L45 Block L45: Predecessors: L41 Successors: L49 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L49 Block L49: Predecessors: L45 Successors: L53 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L53 Block L53: Predecessors: L49 Successors: L57 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L57 Block L57: Predecessors: L53 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L25 I203:L58: bcmap:24 I236:ldci4 #8 -) t139:int32 I237:add t139, t33 -) t140:int32 I210:stvar t140 -) v2:int32 GOTO L25 Block L27: Predecessors: L29 L25 Successors: L3 L28 I89:L27: bcmap:unknown I90:ldvar v2 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L27 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2 -) t40:int32 I98:add t40, t39 -) t41:int32 I102:stvar t41 -) v2:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=38 stageName=SSA Deconstruction subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=38 stageGroup=HLO stageName=SSA Deconstruction stageTag=dessa ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=39 stageGroup=HLO stageName=Perform edge annotation pass based on static heuristics stageTag=statprof ======================================================================== Opt: Running Perform edge annotation pass based on static heuristics ======================================================================== __IR_DUMP_BEGIN__: stageId=39 stageName=Perform edge annotation pass based on static heuristics subKind=before Printing IR Perform edge annotation pass based on static heuristics - before ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L25 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I86:stvar t6 -) v2:int32 I216:ldci4 #19992 -) t126:int32 GOTO L25 Block L25: Predecessors: L8 L58 Successors: L27 L2 I80:L25: bcmap:unknown I84:ldvar v2 -) t32:int32 I14:if cge.i4 t32, t126 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L33 I30:L10: bcmap:24 I85:ldvar v2 -) t33:int32 GOTO L33 Block L33: Predecessors: L10 Successors: L37 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L37 Block L37: Predecessors: L33 Successors: L41 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L41 Block L41: Predecessors: L37 Successors: L45 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L45 Block L45: Predecessors: L41 Successors: L49 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L49 Block L49: Predecessors: L45 Successors: L53 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L53 Block L53: Predecessors: L49 Successors: L57 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L57 Block L57: Predecessors: L53 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L25 I203:L58: bcmap:24 I236:ldci4 #8 -) t139:int32 I237:add t139, t33 -) t140:int32 I210:stvar t140 -) v2:int32 GOTO L25 Block L27: Predecessors: L29 L25 Successors: L3 L28 I89:L27: bcmap:unknown I90:ldvar v2 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L27 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2 -) t40:int32 I98:add t40, t39 -) t41:int32 I102:stvar t41 -) v2:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=39 stageName=Perform edge annotation pass based on static heuristics subKind=before ======================================================================== ======================================================================== __IR_DUMP_BEGIN__: stageId=39 stageName=Perform edge annotation pass based on static heuristics subKind=after Printing IR Perform edge annotation pass based on static heuristics - after ======================================================================== -------- irDump: a::main -------- Block ENTRY_L0: Predecessors: Successors: L8 UNWIND I0:--- MethodEntry(a::main): () bcmap:0 I4:defarg -) t1:cls:java/lang/String[] I65:tausafe() -) g24:tau I6:newobj cls:a -) g3:cls:a bcmap:0 GOTO L8 Block L8: Predecessors: ENTRY_L0 Successors: L25 I28:L8: bcmap:4 I46:--- MethodEntry(a::_init_): () bcmap:4 I60:--- MethodEntry(java/lang/Object::_init_): () bcmap:1 I61:+++ MethodEnd(java/lang/Object::_init_) () I47:+++ MethodEnd(a::_init_) () I10:ldci4 #0 -) t6:int32 I86:stvar t6 -) v2:int32 I216:ldci4 #19992 -) t126:int32 GOTO L25 Block L25: Predecessors: L8 L58 Successors: L27 L2 I80:L25: bcmap:unknown I84:ldvar v2 -) t32:int32 I14:if cge.i4 t32, t126 goto L27 GOTO L2 Block L2: Predecessors: L25 Successors: L10 UNWIND I2:L2: bcmap:20 I17:call a::work(g3) ((g24,g24)) -) t11:cls:.Unresolved bcmap:20 GOTO L10 Block L10: Predecessors: L2 Successors: L33 I30:L10: bcmap:24 I85:ldvar v2 -) t33:int32 GOTO L33 Block L33: Predecessors: L10 Successors: L37 UNWIND I111:L33: bcmap:20 I112:call a::work(g3) ((g24,g24)) -) t48:cls:.Unresolved bcmap:20 GOTO L37 Block L37: Predecessors: L33 Successors: L41 UNWIND I126:L37: bcmap:20 I127:call a::work(g3) ((g24,g24)) -) t56:cls:.Unresolved bcmap:20 GOTO L41 Block L41: Predecessors: L37 Successors: L45 UNWIND I141:L41: bcmap:20 I142:call a::work(g3) ((g24,g24)) -) t64:cls:.Unresolved bcmap:20 GOTO L45 Block L45: Predecessors: L41 Successors: L49 UNWIND I156:L45: bcmap:20 I157:call a::work(g3) ((g24,g24)) -) t72:cls:.Unresolved bcmap:20 GOTO L49 Block L49: Predecessors: L45 Successors: L53 UNWIND I171:L49: bcmap:20 I172:call a::work(g3) ((g24,g24)) -) t80:cls:.Unresolved bcmap:20 GOTO L53 Block L53: Predecessors: L49 Successors: L57 UNWIND I186:L53: bcmap:20 I187:call a::work(g3) ((g24,g24)) -) t88:cls:.Unresolved bcmap:20 GOTO L57 Block L57: Predecessors: L53 Successors: L58 UNWIND I201:L57: bcmap:20 I202:call a::work(g3) ((g24,g24)) -) t96:cls:.Unresolved bcmap:20 GOTO L58 Block L58: Predecessors: L57 Successors: L25 I203:L58: bcmap:24 I236:ldci4 #8 -) t139:int32 I237:add t139, t33 -) t140:int32 I210:stvar t140 -) v2:int32 GOTO L25 Block L27: Predecessors: L29 L25 Successors: L3 L28 I89:L27: bcmap:unknown I90:ldvar v2 -) t36:int32 I91:ldci4 #20000 -) t37:int32 I92:if cge.i4 t36, t37 goto L3 GOTO L28 Block L28: Predecessors: L27 Successors: L29 UNWIND I93:L28: bcmap:20 I94:call a::work(g3) ((g24,g24)) -) t38:cls:.Unresolved bcmap:20 GOTO L29 Block UNWIND: Predecessors: ENTRY_L0 L2 L28 L33 L37 L41 L45 L49 L53 L57 Successors: EXIT I26:L6: GOTO EXIT Block L29: Predecessors: L28 Successors: L27 I95:L29: bcmap:24 I96:ldci4 #1 -) t39:int32 I97:ldvar v2 -) t40:int32 I98:add t40, t39 -) t41:int32 I102:stvar t41 -) v2:int32 GOTO L27 Block L3: Predecessors: L27 Successors: RETURN I3:L3: bcmap:30 I23:return Block RETURN: Predecessors: L3 Successors: EXIT I25:L5: bcmap:unknown GOTO EXIT Block EXIT: Predecessors: RETURN UNWIND Successors: I27:L7: ======================================================================== __IR_DUMP_END__: stageId=39 stageName=Perform edge annotation pass based on static heuristics subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=39 stageGroup=HLO stageName=Perform edge annotation pass based on static heuristics stageTag=statprof ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=40 stageGroup=IA32 stageName=hir2lir stageTag=hir2lir ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=40 stageName=hir2lir subKind=after.opnds Printing IR hir2lir - after.opnds ======================================================================== .................................................................... a.main: Operands in IA32 LIR CFG after hir2lir .................................................................... v0:int32 addr=v0:int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t1:cls:java/lang/String[] addr=t1:cls:java/lang/String[] Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t2(0:sz:cls:a):int32 addr=t2(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t3(0:ah:cls:a):ptr:intptr addr=t3(0):ptr:intptr Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t4:cls:a addr=t4:cls:a Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 addr=t5(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t6(0):int32 addr=t6(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t7(0):int32 addr=t7(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t8(0):int32 addr=t8(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t9:int32 addr=t9:int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t10(19992):int32 addr=t10(19992):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm v11(EFLGS):uint32 addr=v11(EFLGS):uint32 Initial constraint: Sz32:StatusReg{EFLGS} Calculated constraint: Sz32:StatusReg{EFLGS} Location constraint: Sz32:StatusReg{EFLGS} t12(0):int32 addr=t12(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t13(0:m:a.work):int32 addr=t13(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t14:cls:.Unresolved addr=t14:cls:.Unresolved Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t15:int32 addr=t15:int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t16(0:m:a.work):int32 addr=t16(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t17:cls:.Unresolved addr=t17:cls:.Unresolved Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t18(0:m:a.work):int32 addr=t18(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t19:cls:.Unresolved addr=t19:cls:.Unresolved Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t20(0:m:a.work):int32 addr=t20(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t21:cls:.Unresolved addr=t21:cls:.Unresolved Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t22(0:m:a.work):int32 addr=t22(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t23:cls:.Unresolved addr=t23:cls:.Unresolved Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t24(0:m:a.work):int32 addr=t24(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t25:cls:.Unresolved addr=t25:cls:.Unresolved Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t26(0:m:a.work):int32 addr=t26(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t27:cls:.Unresolved addr=t27:cls:.Unresolved Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t28(0:m:a.work):int32 addr=t28(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t29:cls:.Unresolved addr=t29:cls:.Unresolved Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t30(8):int32 addr=t30(8):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t31:int32 addr=t31:int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t32:int32 addr=t32:int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t33(20000):int32 addr=t33(20000):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t34(0):int32 addr=t34(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t35(0:m:a.work):int32 addr=t35(0):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t36:cls:.Unresolved addr=t36:cls:.Unresolved Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t37:int32 addr=t37:int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t38(1):int32 addr=t38(1):int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Sz32:Imm t39:int32 addr=t39:int32 Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Calculated constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI} Location constraint: Null t40(0):int16 addr=t40(0):int16 Initial constraint: Sz16:Imm|Mem|GPReg{AX|CX|DX|BX|SP|BP|SI|DI} Calculated constraint: Sz16:Imm|Mem|GPReg{AX|CX|DX|BX|SP|BP|SI|DI} Location constraint: Sz16:Imm ======================================================================== __IR_DUMP_END__: stageId=40 stageName=hir2lir subKind=after.opnds ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=40 stageName=hir2lir subKind=after Printing IR hir2lir - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after hir2lir ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t4:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_2 BB_13 Successors: BB_14 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I7: (AD:t9:int32) =CopyPseudoInst/MOV (AU:v0:int32) I8: (ID:v11(EFLGS):uint32) =CMP t9:int32,t10(19992):int32 I9: JNL BB_14 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] I11: (AD:t15:int32) =CopyPseudoInst/MOV (AU:v0:int32) BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_3 [Prob=1](backedge) I19: t31:int32 (ID:v11(EFLGS):uint32) =ADD t15:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_3 BB_17 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I21: (AD:t32:int32) =CopyPseudoInst/MOV (AU:v0:int32) I22: (ID:v11(EFLGS):uint32) =CMP t32:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_14 [Prob=1](backedge) I25: (AD:t37:int32) =CopyPseudoInst/MOV (AU:v0:int32) I26: t39:int32 (ID:v11(EFLGS):uint32) =ADD t37:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(0):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=40 stageName=hir2lir subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=40 stageGroup=IA32 stageName=hir2lir stageTag=hir2lir ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=41 stageGroup=IA32 stageName=bbp stageTag=bbp ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=41 stageName=bbp subKind=after Printing IR bbp - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after bbp ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t4:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_21 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_21 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_2 Successors: BB_3 [Prob=1] I29: o41:ptr:intptr (ID:v11(EFLGS):uint32) =ADD o43(FS:[o42(20)]):ptr:int8,o44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_21 BB_23 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I7: (AD:t9:int32) =CopyPseudoInst/MOV (AU:v0:int32) I8: (ID:v11(EFLGS):uint32) =CMP t9:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] I11: (AD:t15:int32) =CopyPseudoInst/MOV (AU:v0:int32) BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_22 [Prob=1] I19: t31:int32 (ID:v11(EFLGS):uint32) =ADD t15:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_22 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_25 [Prob=0](Br=I31) BB_23 [Prob=1](Br=I31) I30: (ID:v11(EFLGS):uint32) =CMP o46[o41+o45(0)]:int32,o47(0):int32 I31: JNZ BB_25 o48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 Successors: BB_23 [Prob=1] DN_24 [Prob=0](loopexit) I32: CALL o49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_24 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 Successors: UN_16 [Prob=1] BB_23 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 BB_25 Successors: BB_3 [Prob=1](backedge) BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I33: o50:ptr:intptr (ID:v11(EFLGS):uint32) =ADD o52(FS:[o51(20)]):ptr:int8,o53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_26 BB_28 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I21: (AD:t32:int32) =CopyPseudoInst/MOV (AU:v0:int32) I22: (ID:v11(EFLGS):uint32) =CMP t32:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_27 [Prob=1] I25: (AD:t37:int32) =CopyPseudoInst/MOV (AU:v0:int32) I26: t39:int32 (ID:v11(EFLGS):uint32) =ADD t37:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_27 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_30 [Prob=0](Br=I35) BB_28 [Prob=1](Br=I35) I34: (ID:v11(EFLGS):uint32) =CMP o55[o50+o54(0)]:int32,o56(0):int32 I35: JNZ BB_30 o57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 Successors: BB_28 [Prob=1] DN_29 [Prob=0](loopexit) I36: CALL o58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_29 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_30 Successors: UN_16 [Prob=1] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 DN_24 DN_29 Successors: EN_20 [Prob=1] BB_28 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 BB_30 Successors: BB_14 [Prob=1](backedge) BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(0):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=41 stageName=bbp subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=41 stageGroup=IA32 stageName=bbp stageTag=bbp ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=42 stageGroup=IA32 stageName=btr stageTag=btr ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=42 stageName=btr subKind=after Printing IR btr - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after btr ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t4:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_21 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_21 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_2 Successors: BB_3 [Prob=1] I29: t41:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t43(FS:[t42(20)]):ptr:int8,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_22 BB_25 BB_21 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I7: (AD:t9:int32) =CopyPseudoInst/MOV (AU:v0:int32) I8: (ID:v11(EFLGS):uint32) =CMP t9:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] I11: (AD:t15:int32) =CopyPseudoInst/MOV (AU:v0:int32) BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_22 [Prob=1] I19: t31:int32 (ID:v11(EFLGS):uint32) =ADD t15:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_22 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_25 [Prob=0](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I30: (ID:v11(EFLGS):uint32) =CMP t46[t41+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 Successors: BB_3 [Prob=1](backedge) DN_24 [Prob=0](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_24 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 Successors: UN_16 [Prob=1] BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I33: t50:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t52(FS:[t51(20)]):ptr:int8,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_27 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I21: (AD:t32:int32) =CopyPseudoInst/MOV (AU:v0:int32) I22: (ID:v11(EFLGS):uint32) =CMP t32:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_27 [Prob=1] I25: (AD:t37:int32) =CopyPseudoInst/MOV (AU:v0:int32) I26: t39:int32 (ID:v11(EFLGS):uint32) =ADD t37:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_27 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_30 [Prob=0](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I34: (ID:v11(EFLGS):uint32) =CMP t55[t50+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 Successors: BB_14 [Prob=1](backedge) DN_29 [Prob=0](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_29 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_30 Successors: UN_16 [Prob=1] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 DN_24 DN_29 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(0):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=42 stageName=btr subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=42 stageGroup=IA32 stageName=btr stageTag=btr ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=43 stageGroup=IA32 stageName=gcpoints stageTag=gcpoints ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=43 stageName=gcpoints subKind=after Printing IR gcpoints - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after gcpoints ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t4:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_21 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_21 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_2 Successors: BB_3 [Prob=1] I29: t41:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t43(FS:[t42(20)]):ptr:int8,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_22 BB_25 BB_21 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I7: (AD:t9:int32) =CopyPseudoInst/MOV (AU:v0:int32) I8: (ID:v11(EFLGS):uint32) =CMP t9:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] I11: (AD:t15:int32) =CopyPseudoInst/MOV (AU:v0:int32) BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_22 [Prob=1] I19: t31:int32 (ID:v11(EFLGS):uint32) =ADD t15:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_22 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_25 [Prob=0](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I30: (ID:v11(EFLGS):uint32) =CMP t46[t41+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 Successors: BB_3 [Prob=1](backedge) DN_24 [Prob=0](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_24 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 Successors: UN_16 [Prob=1] BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I33: t50:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t52(FS:[t51(20)]):ptr:int8,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_27 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I21: (AD:t32:int32) =CopyPseudoInst/MOV (AU:v0:int32) I22: (ID:v11(EFLGS):uint32) =CMP t32:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_27 [Prob=1] I25: (AD:t37:int32) =CopyPseudoInst/MOV (AU:v0:int32) I26: t39:int32 (ID:v11(EFLGS):uint32) =ADD t37:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_27 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_30 [Prob=0](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I34: (ID:v11(EFLGS):uint32) =CMP t55[t50+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 Successors: BB_14 [Prob=1](backedge) DN_29 [Prob=0](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_29 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_30 Successors: UN_16 [Prob=1] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 DN_24 DN_29 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(0):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=43 stageName=gcpoints subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=43 stageGroup=IA32 stageName=gcpoints stageTag=gcpoints ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=44 stageGroup=IA32 stageName=cafl stageTag=cafl ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=44 stageName=cafl subKind=after Printing IR cafl - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after cafl ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t4:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_21 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_21 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_2 Successors: BB_3 [Prob=1] I29: t41:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t43(FS:[t42(20)]):ptr:int8,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_22 BB_25 BB_21 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I7: (AD:t9:int32) =CopyPseudoInst/MOV (AU:v0:int32) I8: (ID:v11(EFLGS):uint32) =CMP t9:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] I11: (AD:t15:int32) =CopyPseudoInst/MOV (AU:v0:int32) BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_22 [Prob=1] I19: t31:int32 (ID:v11(EFLGS):uint32) =ADD t15:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_22 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_25 [Prob=0](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I30: (ID:v11(EFLGS):uint32) =CMP t46[t41+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 Successors: BB_3 [Prob=1](backedge) DN_24 [Prob=0](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_24 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 Successors: UN_16 [Prob=1] BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I33: t50:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t52(FS:[t51(20)]):ptr:int8,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_27 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I21: (AD:t32:int32) =CopyPseudoInst/MOV (AU:v0:int32) I22: (ID:v11(EFLGS):uint32) =CMP t32:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_27 [Prob=1] I25: (AD:t37:int32) =CopyPseudoInst/MOV (AU:v0:int32) I26: t39:int32 (ID:v11(EFLGS):uint32) =ADD t37:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_27 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_30 [Prob=0](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I34: (ID:v11(EFLGS):uint32) =CMP t55[t50+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 Successors: BB_14 [Prob=1](backedge) DN_29 [Prob=0](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_29 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_30 Successors: UN_16 [Prob=1] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 DN_24 DN_29 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(0):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=44 stageName=cafl subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=44 stageGroup=IA32 stageName=cafl stageTag=cafl ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=45 stageGroup=IA32 stageName=cg_dce stageTag=cg_dce ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=45 stageName=cg_dce subKind=after Printing IR cg_dce - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after cg_dce ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t4:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_21 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_21 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_2 Successors: BB_3 [Prob=1] I29: t41:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t43(FS:[t42(20)]):ptr:int8,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_22 BB_25 BB_21 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I7: (AD:t9:int32) =CopyPseudoInst/MOV (AU:v0:int32) I8: (ID:v11(EFLGS):uint32) =CMP t9:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] I11: (AD:t15:int32) =CopyPseudoInst/MOV (AU:v0:int32) BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_22 [Prob=1] I19: t31:int32 (ID:v11(EFLGS):uint32) =ADD t15:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_22 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_25 [Prob=0](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I30: (ID:v11(EFLGS):uint32) =CMP t46[t41+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 Successors: BB_3 [Prob=1](backedge) DN_24 [Prob=0](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_24 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 Successors: UN_16 [Prob=1] BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I33: t50:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t52(FS:[t51(20)]):ptr:int8,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_27 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I21: (AD:t32:int32) =CopyPseudoInst/MOV (AU:v0:int32) I22: (ID:v11(EFLGS):uint32) =CMP t32:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_27 [Prob=1] I25: (AD:t37:int32) =CopyPseudoInst/MOV (AU:v0:int32) I26: t39:int32 (ID:v11(EFLGS):uint32) =ADD t37:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_27 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_30 [Prob=0](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I34: (ID:v11(EFLGS):uint32) =CMP t55[t50+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 Successors: BB_14 [Prob=1](backedge) DN_29 [Prob=0](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_29 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_30 Successors: UN_16 [Prob=1] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 DN_24 DN_29 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(0):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=45 stageName=cg_dce subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=45 stageGroup=IA32 stageName=cg_dce stageTag=cg_dce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=46 stageGroup=IA32 stageName=i8l stageTag=i8l ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=46 stageName=i8l subKind=after Printing IR i8l - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after i8l ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t4:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_21 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_21 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_2 Successors: BB_3 [Prob=1] I29: t41:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t43(FS:[t42(20)]):ptr:int8,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_22 BB_25 BB_21 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I7: (AD:t9:int32) =CopyPseudoInst/MOV (AU:v0:int32) I8: (ID:v11(EFLGS):uint32) =CMP t9:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] I11: (AD:t15:int32) =CopyPseudoInst/MOV (AU:v0:int32) BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_22 [Prob=1] I19: t31:int32 (ID:v11(EFLGS):uint32) =ADD t15:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_22 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_25 [Prob=0](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I30: (ID:v11(EFLGS):uint32) =CMP t46[t41+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 Successors: BB_3 [Prob=1](backedge) DN_24 [Prob=0](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_24 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 Successors: UN_16 [Prob=1] BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I33: t50:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t52(FS:[t51(20)]):ptr:int8,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_27 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I21: (AD:t32:int32) =CopyPseudoInst/MOV (AU:v0:int32) I22: (ID:v11(EFLGS):uint32) =CMP t32:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_27 [Prob=1] I25: (AD:t37:int32) =CopyPseudoInst/MOV (AU:v0:int32) I26: t39:int32 (ID:v11(EFLGS):uint32) =ADD t37:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_27 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_30 [Prob=0](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I34: (ID:v11(EFLGS):uint32) =CMP t55[t50+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 Successors: BB_14 [Prob=1](backedge) DN_29 [Prob=0](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_29 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_30 Successors: UN_16 [Prob=1] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 DN_24 DN_29 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(0):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=46 stageName=i8l subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=46 stageGroup=IA32 stageName=i8l stageTag=i8l ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=47 stageGroup=IA32 stageName=api_magic stageTag=api_magic ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=47 stageName=api_magic subKind=after Printing IR api_magic - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after api_magic ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t4:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_21 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_21 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_2 Successors: BB_3 [Prob=1] I29: t41:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t43(FS:[t42(20)]):ptr:int8,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_22 BB_25 BB_21 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I7: (AD:t9:int32) =CopyPseudoInst/MOV (AU:v0:int32) I8: (ID:v11(EFLGS):uint32) =CMP t9:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] I11: (AD:t15:int32) =CopyPseudoInst/MOV (AU:v0:int32) BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_22 [Prob=1] I19: t31:int32 (ID:v11(EFLGS):uint32) =ADD t15:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_22 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_25 [Prob=0](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I30: (ID:v11(EFLGS):uint32) =CMP t46[t41+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 Successors: BB_3 [Prob=1](backedge) DN_24 [Prob=0](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_24 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 Successors: UN_16 [Prob=1] BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I33: t50:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t52(FS:[t51(20)]):ptr:int8,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_27 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I21: (AD:t32:int32) =CopyPseudoInst/MOV (AU:v0:int32) I22: (ID:v11(EFLGS):uint32) =CMP t32:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_27 [Prob=1] I25: (AD:t37:int32) =CopyPseudoInst/MOV (AU:v0:int32) I26: t39:int32 (ID:v11(EFLGS):uint32) =ADD t37:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_27 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_30 [Prob=0](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I34: (ID:v11(EFLGS):uint32) =CMP t55[t50+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 Successors: BB_14 [Prob=1](backedge) DN_29 [Prob=0](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_29 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_30 Successors: UN_16 [Prob=1] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 DN_24 DN_29 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(0):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=47 stageName=api_magic subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=47 stageGroup=IA32 stageName=api_magic stageTag=api_magic ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=48 stageGroup=IA32 stageName=early_prop stageTag=early_prop ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=48 stageName=early_prop subKind=after Printing IR early_prop - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after early_prop ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t4:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_21 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_21 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_2 Successors: BB_3 [Prob=1] I29: t41:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t43(FS:[t42(20)]):ptr:int8,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_22 BB_25 BB_21 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I8: (ID:v11(EFLGS):uint32) =CMP v0:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_22 [Prob=1] I19: t31:int32 (ID:v11(EFLGS):uint32) =ADD v0:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_22 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_25 [Prob=0](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I30: (ID:v11(EFLGS):uint32) =CMP t46[t41+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 Successors: BB_3 [Prob=1](backedge) DN_24 [Prob=0](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_24 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 Successors: UN_16 [Prob=1] BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I33: t50:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t52(FS:[t51(20)]):ptr:int8,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_27 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I22: (ID:v11(EFLGS):uint32) =CMP v0:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_27 [Prob=1] I26: t39:int32 (ID:v11(EFLGS):uint32) =ADD v0:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_27 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_30 [Prob=0](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I34: (ID:v11(EFLGS):uint32) =CMP t55[t50+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 Successors: BB_14 [Prob=1](backedge) DN_29 [Prob=0](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_29 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_30 Successors: UN_16 [Prob=1] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 DN_24 DN_29 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(0):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=48 stageName=early_prop subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=48 stageGroup=IA32 stageName=early_prop stageTag=early_prop ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=49 stageGroup=IA32 stageName=peephole stageTag=peephole ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=49 stageName=peephole subKind=after Printing IR peephole - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after peephole ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t4:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_21 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_21 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_2 Successors: BB_3 [Prob=1] I29: t41:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t43(FS:[t42(20)]):ptr:int8,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_22 BB_25 BB_21 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I8: (ID:v11(EFLGS):uint32) =CMP v0:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_22 [Prob=1] I19: t31:int32 (ID:v11(EFLGS):uint32) =ADD v0:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_22 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_25 [Prob=0](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I30: (ID:v11(EFLGS):uint32) =CMP t46[t41+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 Successors: BB_3 [Prob=1](backedge) DN_24 [Prob=0](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_24 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 Successors: UN_16 [Prob=1] BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I33: t50:ptr:intptr (ID:v11(EFLGS):uint32) =ADD t52(FS:[t51(20)]):ptr:int8,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_27 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I22: (ID:v11(EFLGS):uint32) =CMP v0:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_27 [Prob=1] I26: t39:int32 (ID:v11(EFLGS):uint32) =ADD v0:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_27 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_30 [Prob=0](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I34: (ID:v11(EFLGS):uint32) =CMP t55[t50+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 Successors: BB_14 [Prob=1](backedge) DN_29 [Prob=0](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_29 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_30 Successors: UN_16 [Prob=1] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 DN_24 DN_29 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(0):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=49 stageName=peephole subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=49 stageGroup=IA32 stageName=peephole stageTag=peephole ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=50 stageGroup=IA32 stageName=native stageTag=native ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=50 stageName=native subKind=after Printing IR native - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after native ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t4:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_21 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_21 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_2 Successors: BB_3 [Prob=1] I39: (AD:t41:ptr:intptr) =CopyPseudoInst/MOV (AU:t43(FS:[t42(20)]):ptr:int8) I29: (ID:v11(EFLGS):uint32) =ADD t41:ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_22 BB_25 BB_21 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I8: (ID:v11(EFLGS):uint32) =CMP v0:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_22 [Prob=1] I37: (AD:t31:int32) =CopyPseudoInst/MOV (AU:v0:int32) I19: (ID:v11(EFLGS):uint32) =ADD t31:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_22 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_25 [Prob=0](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I30: (ID:v11(EFLGS):uint32) =CMP t46[t41+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 Successors: BB_3 [Prob=1](backedge) DN_24 [Prob=0](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_24 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 Successors: UN_16 [Prob=1] BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I40: (AD:t50:ptr:intptr) =CopyPseudoInst/MOV (AU:t52(FS:[t51(20)]):ptr:int8) I33: (ID:v11(EFLGS):uint32) =ADD t50:ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_27 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I22: (ID:v11(EFLGS):uint32) =CMP v0:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_27 [Prob=1] I38: (AD:t39:int32) =CopyPseudoInst/MOV (AU:v0:int32) I26: (ID:v11(EFLGS):uint32) =ADD t39:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_27 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_30 [Prob=0](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I34: (ID:v11(EFLGS):uint32) =CMP t55[t50+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 Successors: BB_14 [Prob=1](backedge) DN_29 [Prob=0](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_29 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_30 Successors: UN_16 [Prob=1] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 DN_24 DN_29 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(0):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=50 stageName=native subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=50 stageGroup=IA32 stageName=native stageTag=native ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=51 stageGroup=IA32 stageName=constraints stageTag=constraints ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=51 stageName=constraints subKind=after Printing IR constraints - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after constraints ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:o59:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] I41: (AD:t4:cls:a) =CopyPseudoInst/MOV (AU:o59:cls:a) BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_21 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) BB_21 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_2 Successors: BB_3 [Prob=1] I39: (AD:t41:ptr:intptr) =CopyPseudoInst/MOV (AU:t43(FS:[t42(20)]):ptr:int8) I29: (ID:v11(EFLGS):uint32) =ADD t41:ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_22 BB_25 BB_21 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I8: (ID:v11(EFLGS):uint32) =CMP v0:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_5 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_5 PersistentId = 10 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_6 [Prob=1] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_5 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_22 [Prob=1] I37: (AD:t31:int32) =CopyPseudoInst/MOV (AU:v0:int32) I19: (ID:v11(EFLGS):uint32) =ADD t31:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t31:int32) BB_22 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_25 [Prob=0](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I30: (ID:v11(EFLGS):uint32) =CMP t46[t41+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_22 Successors: BB_3 [Prob=1](backedge) DN_24 [Prob=0](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_24 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 Successors: UN_16 [Prob=1] BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I40: (AD:t50:ptr:intptr) =CopyPseudoInst/MOV (AU:t52(FS:[t51(20)]):ptr:int8) I33: (ID:v11(EFLGS):uint32) =ADD t50:ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_27 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I22: (ID:v11(EFLGS):uint32) =CMP v0:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_27 [Prob=1] I38: (AD:t39:int32) =CopyPseudoInst/MOV (AU:v0:int32) I26: (ID:v11(EFLGS):uint32) =ADD t39:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t39:int32) BB_27 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_30 [Prob=0](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I34: (ID:v11(EFLGS):uint32) =CMP t55[t50+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_27 Successors: BB_14 [Prob=1](backedge) DN_29 [Prob=0](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] DN_29 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_30 Successors: UN_16 [Prob=1] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 DN_24 DN_29 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=51 stageName=constraints subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=51 stageGroup=IA32 stageName=constraints stageTag=constraints ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=52 stageGroup=IA32 stageName=cg_dce stageTag=cg_dce ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=52 stageName=cg_dce subKind=after Printing IR cg_dce - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after cg_dce ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t59:cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] I41: (AD:t4:cls:a) =CopyPseudoInst/MOV (AU:t59:cls:a) BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0:int32) =CopyPseudoInst/MOV (AU:t8(0):int32) I39: (AD:s41:ptr:intptr) =CopyPseudoInst/MOV (AU:t43(FS:[t42(20)]):ptr:int8) I29: (ID:v11(EFLGS):uint32) =ADD s41:ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_13 BB_25 BB_2 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I8: (ID:v11(EFLGS):uint32) =CMP v0:int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_6 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14:cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17:cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19:cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21:cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23:cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25:cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27:cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29:cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_25 [Prob=0](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I37: (AD:s31:int32) =CopyPseudoInst/MOV (AU:v0:int32) I19: (ID:v11(EFLGS):uint32) =ADD s31:int32,t30(8):int32 I20: (AD:v0:int32) =CopyPseudoInst/MOV (AU:s31:int32) I30: (ID:v11(EFLGS):uint32) =CMP t46[s41+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_3 [Prob=1](backedge) UN_16 [Prob=0](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_26 PersistentId = 0 ExecCnt = 0 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I40: (AD:s50:ptr:intptr) =CopyPseudoInst/MOV (AU:t52(FS:[t51(20)]):ptr:int8) I33: (ID:v11(EFLGS):uint32) =ADD s50:ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_17 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I22: (ID:v11(EFLGS):uint32) =CMP v0:int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36:cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4:cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_30 [Prob=0](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I38: (AD:s39:int32) =CopyPseudoInst/MOV (AU:v0:int32) I26: (ID:v11(EFLGS):uint32) =ADD s39:int32,t38(1):int32 I27: (AD:v0:int32) =CopyPseudoInst/MOV (AU:s39:int32) I34: (ID:v11(EFLGS):uint32) =CMP t55[s50+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_14 [Prob=1](backedge) UN_16 [Prob=0](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 BB_30 BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=52 stageName=cg_dce subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=52 stageGroup=IA32 stageName=cg_dce stageTag=cg_dce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=53 stageGroup=IA32 stageName=bp_regalloc stageTag=bp_regalloc ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=53 stageName=bp_regalloc subKind=after Printing IR bp_regalloc - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after bp_regalloc ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t59(EAX):cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] I41: (AD:t4(EBX):cls:a) =CopyPseudoInst/MOV (AU:t59(EAX):cls:a) BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:t8(0):int32) I39: (AD:s41(ESI):ptr:intptr) =CopyPseudoInst/MOV (AU:t43(FS:[t42(20)]):ptr:int8) I29: (ID:v11(EFLGS):uint32) =ADD s41(ESI):ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_13 BB_25 BB_2 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I8: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_6 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14(EAX):cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17(EAX):cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19(EAX):cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21(EAX):cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23(EAX):cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25(EAX):cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27(EAX):cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29(EAX):cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_25 [Prob=1e-007](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I37: (AD:s31(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I19: (ID:v11(EFLGS):uint32) =ADD s31(EBP):int32,t30(8):int32 I20: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s31(EBP):int32) I30: (ID:v11(EFLGS):uint32) =CMP t46[s41(ESI)+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_3 [Prob=1](backedge) UN_16 [Prob=1e-007](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_26 PersistentId = 0 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I40: (AD:s50(ESI):ptr:intptr) =CopyPseudoInst/MOV (AU:t52(FS:[t51(20)]):ptr:int8) I33: (ID:v11(EFLGS):uint32) =ADD s50(ESI):ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_17 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I22: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36(EAX):cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_30 [Prob=1e-007](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I38: (AD:s39(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I26: (ID:v11(EFLGS):uint32) =ADD s39(EBP):int32,t38(1):int32 I27: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s39(EBP):int32) I34: (ID:v11(EFLGS):uint32) =CMP t55[s50(ESI)+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_14 [Prob=1](backedge) UN_16 [Prob=1e-007](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 BB_30 BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=53 stageName=bp_regalloc subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=53 stageGroup=IA32 stageName=bp_regalloc stageTag=bp_regalloc ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=54 stageGroup=IA32 stageName=bp_regalloc stageTag=bp_regalloc ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=54 stageName=bp_regalloc subKind=after Printing IR bp_regalloc - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after bp_regalloc ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t1:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t59(EAX):cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] I41: (AD:t4(EBX):cls:a) =CopyPseudoInst/MOV (AU:t59(EAX):cls:a) BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:t8(0):int32) I39: (AD:s41(ESI):ptr:intptr) =CopyPseudoInst/MOV (AU:t43(FS:[t42(20)]):ptr:int8) I29: (ID:v11(EFLGS):uint32) =ADD s41(ESI):ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_13 BB_25 BB_2 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I8: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_6 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14(EAX):cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17(EAX):cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19(EAX):cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21(EAX):cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23(EAX):cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25(EAX):cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27(EAX):cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29(EAX):cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_25 [Prob=1e-007](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I37: (AD:s31(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I19: (ID:v11(EFLGS):uint32) =ADD s31(EBP):int32,t30(8):int32 I20: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s31(EBP):int32) I30: (ID:v11(EFLGS):uint32) =CMP t46[s41(ESI)+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_3 [Prob=1](backedge) UN_16 [Prob=1e-007](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_26 PersistentId = 0 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I40: (AD:s50(ESI):ptr:intptr) =CopyPseudoInst/MOV (AU:t52(FS:[t51(20)]):ptr:int8) I33: (ID:v11(EFLGS):uint32) =ADD s50(ESI):ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_17 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I22: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36(EAX):cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_30 [Prob=1e-007](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I38: (AD:s39(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I26: (ID:v11(EFLGS):uint32) =ADD s39(EBP):int32,t38(1):int32 I27: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s39(EBP):int32) I34: (ID:v11(EFLGS):uint32) =CMP t55[s50(ESI)+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_14 [Prob=1](backedge) UN_16 [Prob=1e-007](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 BB_30 BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=54 stageName=bp_regalloc subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=54 stageGroup=IA32 stageName=bp_regalloc stageTag=bp_regalloc ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=55 stageGroup=IA32 stageName=spillgen stageTag=spillgen ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=55 stageName=spillgen subKind=after Printing IR spillgen - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after spillgen ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:o62[o60(ESP)+o61(0)]:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I1: (AD:t59(EAX):cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] I41: (AD:t4(EBX):cls:a) =CopyPseudoInst/MOV (AU:t59(EAX):cls:a) BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I6: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:t8(0):int32) I39: (AD:s41(ESI):ptr:intptr) =CopyPseudoInst/MOV (AU:t43(FS:[t42(20)]):ptr:int8) I29: (ID:v11(EFLGS):uint32) =ADD s41(ESI):ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_13 BB_25 BB_2 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I8: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_6 [Prob=1] UN_16 [Prob=1e-007](loopexit) I10: (AD:t14(EAX):cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I12: (AD:t17(EAX):cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I13: (AD:t19(EAX):cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I14: (AD:t21(EAX):cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I15: (AD:t23(EAX):cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I16: (AD:t25(EAX):cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I17: (AD:t27(EAX):cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I18: (AD:t29(EAX):cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_25 [Prob=1e-007](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I37: (AD:s31(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I19: (ID:v11(EFLGS):uint32) =ADD s31(EBP):int32,t30(8):int32 I20: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s31(EBP):int32) I30: (ID:v11(EFLGS):uint32) =CMP t46[s41(ESI)+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_3 [Prob=1](backedge) UN_16 [Prob=1e-007](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_26 PersistentId = 0 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I40: (AD:s50(ESI):ptr:intptr) =CopyPseudoInst/MOV (AU:t52(FS:[t51(20)]):ptr:int8) I33: (ID:v11(EFLGS):uint32) =ADD s50(ESI):ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_17 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I22: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I24: (AD:t36(EAX):cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_30 [Prob=1e-007](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I38: (AD:s39(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I26: (ID:v11(EFLGS):uint32) =ADD s39(EBP):int32,t38(1):int32 I27: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s39(EBP):int32) I34: (ID:v11(EFLGS):uint32) =CMP t55[s50(ESI)+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_14 [Prob=1](backedge) UN_16 [Prob=1e-007](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 BB_30 BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=55 stageName=spillgen subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=55 stageGroup=IA32 stageName=spillgen stageTag=spillgen ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=56 stageGroup=IA32 stageName=copy stageTag=copy ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=56 stageName=copy subKind=after Printing IR copy - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after copy ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] I0: (AD:t62[t60(ESP)+t61(0)]:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] I76: PUSH t3(0:ah:cls:a):ptr:intptr I75: PUSH t2(0:sz:cls:a):int32 I1: (AD:t59(EAX):cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] I74: MOV t4(EBX):cls:a,t59(EAX):cls:a BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I73: (ID:v11(EFLGS):uint32) =XOR v0(EBP):int32,v0(EBP):int32 I72: MOV s41(ESI):ptr:intptr,t43(FS:[t42(20)]):ptr:int8 I29: (ID:v11(EFLGS):uint32) =ADD s41(ESI):ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_13 BB_25 BB_2 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) I8: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_6 [Prob=1] UN_16 [Prob=1e-007](loopexit) I44: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o63(8):int32 I71: PUSH t4(EBX):cls:a I10: (AD:t14(EAX):cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) I46: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o64(8):int32 I70: PUSH t4(EBX):cls:a I12: (AD:t17(EAX):cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) I48: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o65(8):int32 I69: PUSH t4(EBX):cls:a I13: (AD:t19(EAX):cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) I50: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o66(8):int32 I68: PUSH t4(EBX):cls:a I14: (AD:t21(EAX):cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) I52: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o67(8):int32 I67: PUSH t4(EBX):cls:a I15: (AD:t23(EAX):cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) I54: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o68(8):int32 I66: PUSH t4(EBX):cls:a I16: (AD:t25(EAX):cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) I56: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o69(8):int32 I65: PUSH t4(EBX):cls:a I17: (AD:t27(EAX):cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) I58: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o70(8):int32 I64: PUSH t4(EBX):cls:a I18: (AD:t29(EAX):cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_25 [Prob=1e-007](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) I37: (AD:s31(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I19: (ID:v11(EFLGS):uint32) =ADD s31(EBP):int32,t30(8):int32 I20: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s31(EBP):int32) I30: (ID:v11(EFLGS):uint32) =CMP t46[s41(ESI)+t45(0)]:int32,t47(0):int32 I31: JNZ BB_25 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: BB_3 [Prob=1](backedge) UN_16 [Prob=1e-007](loopexit) I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_26 PersistentId = 0 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] I63: MOV s50(ESI):ptr:intptr,t52(FS:[t51(20)]):ptr:int8 I33: (ID:v11(EFLGS):uint32) =ADD s50(ESI):ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_17 BB_30 BB_26 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) I22: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) I60: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o71(8):int32 I62: PUSH t4(EBX):cls:a I24: (AD:t36(EAX):cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_30 [Prob=1e-007](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) I38: (AD:s39(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I26: (ID:v11(EFLGS):uint32) =ADD s39(EBP):int32,t38(1):int32 I27: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s39(EBP):int32) I34: (ID:v11(EFLGS):uint32) =CMP t55[s50(ESI)+t54(0)]:int32,t56(0):int32 I35: JNZ BB_30 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: BB_14 [Prob=1](backedge) UN_16 [Prob=1e-007](loopexit) I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 BB_30 BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=56 stageName=copy subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=56 stageGroup=IA32 stageName=copy stageTag=copy ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=57 stageGroup=IA32 stageName=i586 stageTag=i586 ======================================================================== ======================================================================== __STAGE_END__: stageId=57 stageGroup=IA32 stageName=i586 stageTag=i586 ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=58 stageGroup=IA32 stageName=layout stageTag=layout ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=58 stageName=layout subKind=after Printing IR layout - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after layout ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] Layout Succ: BB_1 I0: (AD:t62[t60(ESP)+t61(0)]:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] Layout Succ: BB_2 I76: PUSH t3(0:ah:cls:a):ptr:intptr I75: PUSH t2(0:sz:cls:a):int32 I1: (AD:t59(EAX):cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] I74: MOV t4(EBX):cls:a,t59(EAX):cls:a BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] Layout Succ: BB_3 I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I73: (ID:v11(EFLGS):uint32) =XOR v0(EBP):int32,v0(EBP):int32 I72: MOV s41(ESI):ptr:intptr,t43(FS:[t42(20)]):ptr:int8 I29: (ID:v11(EFLGS):uint32) =ADD s41(ESI):ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_13 BB_2 BB_32 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) Layout Succ: BB_4 I8: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_6 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_6 I44: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o63(8):int32 I71: PUSH t4(EBX):cls:a I10: (AD:t14(EAX):cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_7 I46: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o64(8):int32 I70: PUSH t4(EBX):cls:a I12: (AD:t17(EAX):cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_8 I48: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o65(8):int32 I69: PUSH t4(EBX):cls:a I13: (AD:t19(EAX):cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_9 I50: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o66(8):int32 I68: PUSH t4(EBX):cls:a I14: (AD:t21(EAX):cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_10 I52: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o67(8):int32 I67: PUSH t4(EBX):cls:a I15: (AD:t23(EAX):cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_11 I54: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o68(8):int32 I66: PUSH t4(EBX):cls:a I16: (AD:t25(EAX):cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_12 I56: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o69(8):int32 I65: PUSH t4(EBX):cls:a I17: (AD:t27(EAX):cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_13 I58: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o70(8):int32 I64: PUSH t4(EBX):cls:a I18: (AD:t29(EAX):cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_25 [Prob=1e-007](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) Layout Succ: BB_25 I37: (AD:s31(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I19: (ID:v11(EFLGS):uint32) =ADD s31(EBP):int32,t30(8):int32 I20: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s31(EBP):int32) I30: (ID:v11(EFLGS):uint32) =CMP t46[s41(ESI)+t45(0)]:int32,t47(0):int32 I31: JZ BB_3 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: UN_16 [Prob=1e-007](loopexit) BB_32 [Prob=1] Layout Succ: BB_32 I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_32 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_25 Successors: BB_3 [Prob=1](backedge) Layout Succ: BB_26 I78: JMP o73(0):int32 BB_26 PersistentId = 0 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] Layout Succ: BB_14 I63: MOV s50(ESI):ptr:intptr,t52(FS:[t51(20)]):ptr:int8 I33: (ID:v11(EFLGS):uint32) =ADD s50(ESI):ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_17 BB_26 BB_31 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) Layout Succ: BB_15 I22: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_17 I60: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o71(8):int32 I62: PUSH t4(EBX):cls:a I24: (AD:t36(EAX):cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_30 [Prob=1e-007](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) Layout Succ: BB_30 I38: (AD:s39(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I26: (ID:v11(EFLGS):uint32) =ADD s39(EBP):int32,t38(1):int32 I27: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s39(EBP):int32) I34: (ID:v11(EFLGS):uint32) =CMP t55[s50(ESI)+t54(0)]:int32,t56(0):int32 I35: JZ BB_14 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: UN_16 [Prob=1e-007](loopexit) BB_31 [Prob=1] Layout Succ: BB_31 I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_31 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_30 Successors: BB_14 [Prob=1](backedge) Layout Succ: BB_18_epilog I77: JMP o72(0):int32 UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 BB_30 BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] Layout Succ: NULL I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=58 stageName=layout subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=58 stageGroup=IA32 stageName=layout stageTag=layout ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=59 stageGroup=IA32 stageName=rce stageTag=rce ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=59 stageName=rce subKind=after Printing IR rce - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after rce ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] Layout Succ: BB_1 I0: (AD:t62[t60(ESP)+t61(0)]:cls:java/lang/String[]) =EntryPointPseudoInst BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] Layout Succ: BB_2 I76: PUSH t3(0:ah:cls:a):ptr:intptr I75: PUSH t2(0:sz:cls:a):int32 I1: (AD:t59(EAX):cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] I74: MOV t4(EBX):cls:a,t59(EAX):cls:a BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] Layout Succ: BB_3 I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I73: (ID:v11(EFLGS):uint32) =XOR v0(EBP):int32,v0(EBP):int32 I72: MOV s41(ESI):ptr:intptr,t43(FS:[t42(20)]):ptr:int8 I29: (ID:v11(EFLGS):uint32) =ADD s41(ESI):ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_13 BB_2 BB_32 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) Layout Succ: BB_4 I8: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:v11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_6 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_6 I44: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o63(8):int32 I71: PUSH t4(EBX):cls:a I10: (AD:t14(EAX):cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_7 I46: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o64(8):int32 I70: PUSH t4(EBX):cls:a I12: (AD:t17(EAX):cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_8 I48: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o65(8):int32 I69: PUSH t4(EBX):cls:a I13: (AD:t19(EAX):cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_9 I50: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o66(8):int32 I68: PUSH t4(EBX):cls:a I14: (AD:t21(EAX):cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_10 I52: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o67(8):int32 I67: PUSH t4(EBX):cls:a I15: (AD:t23(EAX):cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_11 I54: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o68(8):int32 I66: PUSH t4(EBX):cls:a I16: (AD:t25(EAX):cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_12 I56: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o69(8):int32 I65: PUSH t4(EBX):cls:a I17: (AD:t27(EAX):cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_13 I58: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o70(8):int32 I64: PUSH t4(EBX):cls:a I18: (AD:t29(EAX):cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_25 [Prob=1e-007](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) Layout Succ: BB_25 I37: (AD:s31(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I19: (ID:v11(EFLGS):uint32) =ADD s31(EBP):int32,t30(8):int32 I20: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s31(EBP):int32) I30: (ID:v11(EFLGS):uint32) =CMP t46[s41(ESI)+t45(0)]:int32,t47(0):int32 I31: JZ BB_3 t48(0):int32 (IU:v11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: UN_16 [Prob=1e-007](loopexit) BB_32 [Prob=1] Layout Succ: BB_32 I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_32 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_25 Successors: BB_3 [Prob=1](backedge) Layout Succ: BB_26 I78: JMP o73(0):int32 BB_26 PersistentId = 0 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] Layout Succ: BB_14 I63: MOV s50(ESI):ptr:intptr,t52(FS:[t51(20)]):ptr:int8 I33: (ID:v11(EFLGS):uint32) =ADD s50(ESI):ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_17 BB_26 BB_31 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) Layout Succ: BB_15 I22: (ID:v11(EFLGS):uint32) =CMP v0(EBP):int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:v11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_17 I60: (ID:v11(EFLGS):uint32) =SUB t60(ESP):uint32,o71(8):int32 I62: PUSH t4(EBX):cls:a I24: (AD:t36(EAX):cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_30 [Prob=1e-007](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) Layout Succ: BB_30 I38: (AD:s39(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I26: (ID:v11(EFLGS):uint32) =ADD s39(EBP):int32,t38(1):int32 I27: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s39(EBP):int32) I34: (ID:v11(EFLGS):uint32) =CMP t55[s50(ESI)+t54(0)]:int32,t56(0):int32 I35: JZ BB_14 t57(0):int32 (IU:v11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: UN_16 [Prob=1e-007](loopexit) BB_31 [Prob=1] Layout Succ: BB_31 I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_31 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_30 Successors: BB_14 [Prob=1](backedge) Layout Succ: BB_18_epilog I77: JMP o72(0):int32 UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 BB_30 BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] Layout Succ: NULL I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=59 stageName=rce subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=59 stageGroup=IA32 stageName=rce stageTag=rce ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=60 stageGroup=IA32 stageName=stack stageTag=stack ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=60 stageName=stack subKind=after Printing IR stack - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after stack ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] Layout Succ: BB_1 I0: (AD:t62[v60(ESP)+t61(4)]:cls:java/lang/String[]) =EntryPointPseudoInst I87: (ID:s11(EFLGS):uint32) =TEST o80[v60(ESP)+o79(-28)]:intptr,v60(ESP):uint32 I81: PUSH o76(EBX):uint32 I80: PUSH o75(EBP):uint32 I79: PUSH o74(ESI):uint32 I82: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,o77(4):int32 BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] Layout Succ: BB_2 I76: PUSH t3(0:ah:cls:a):ptr:intptr I75: PUSH t2(0:sz:cls:a):int32 I1: (AD:t59(EAX):cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] I74: MOV t4(EBX):cls:a,t59(EAX):cls:a BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] Layout Succ: BB_3 I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I73: (ID:s11(EFLGS):uint32) =XOR v0(EBP):int32,v0(EBP):int32 I72: MOV s41(ESI):ptr:intptr,t43(FS:[t42(20)]):ptr:int8 I29: (ID:s11(EFLGS):uint32) =ADD s41(ESI):ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_13 BB_2 BB_32 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) Layout Succ: BB_4 I8: (ID:s11(EFLGS):uint32) =CMP v0(EBP):int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:s11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_6 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_6 I44: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t63(8):int32 I71: PUSH t4(EBX):cls:a I10: (AD:t14(EAX):cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_7 I46: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t64(8):int32 I70: PUSH t4(EBX):cls:a I12: (AD:t17(EAX):cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_8 I48: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t65(8):int32 I69: PUSH t4(EBX):cls:a I13: (AD:t19(EAX):cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_9 I50: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t66(8):int32 I68: PUSH t4(EBX):cls:a I14: (AD:t21(EAX):cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_10 I52: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t67(8):int32 I67: PUSH t4(EBX):cls:a I15: (AD:t23(EAX):cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_11 I54: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t68(8):int32 I66: PUSH t4(EBX):cls:a I16: (AD:t25(EAX):cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_12 I56: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t69(8):int32 I65: PUSH t4(EBX):cls:a I17: (AD:t27(EAX):cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_13 I58: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t70(8):int32 I64: PUSH t4(EBX):cls:a I18: (AD:t29(EAX):cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_25 [Prob=1e-007](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) Layout Succ: BB_25 I37: (AD:s31(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I19: (ID:s11(EFLGS):uint32) =ADD s31(EBP):int32,t30(8):int32 I20: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s31(EBP):int32) I30: (ID:s11(EFLGS):uint32) =CMP t46[s41(ESI)+t45(0)]:int32,t47(0):int32 I31: JZ BB_3 t48(0):int32 (IU:s11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: UN_16 [Prob=1e-007](loopexit) BB_32 [Prob=1] Layout Succ: BB_32 I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_32 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_25 Successors: BB_3 [Prob=1](backedge) Layout Succ: BB_26 I78: JMP t73(0):int32 BB_26 PersistentId = 0 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] Layout Succ: BB_14 I63: MOV s50(ESI):ptr:intptr,t52(FS:[t51(20)]):ptr:int8 I33: (ID:s11(EFLGS):uint32) =ADD s50(ESI):ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_17 BB_26 BB_31 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) Layout Succ: BB_15 I22: (ID:s11(EFLGS):uint32) =CMP v0(EBP):int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:s11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_17 I60: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t71(8):int32 I62: PUSH t4(EBX):cls:a I24: (AD:t36(EAX):cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_30 [Prob=1e-007](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) Layout Succ: BB_30 I38: (AD:s39(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I26: (ID:s11(EFLGS):uint32) =ADD s39(EBP):int32,t38(1):int32 I27: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s39(EBP):int32) I34: (ID:s11(EFLGS):uint32) =CMP t55[s50(ESI)+t54(0)]:int32,t56(0):int32 I35: JZ BB_14 t57(0):int32 (IU:s11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: UN_16 [Prob=1e-007](loopexit) BB_31 [Prob=1] Layout Succ: BB_31 I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_31 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_30 Successors: BB_14 [Prob=1](backedge) Layout Succ: BB_18_epilog I77: JMP t72(0):int32 UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 BB_30 BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] Layout Succ: NULL I83: (ID:s11(EFLGS):uint32) =ADD v60(ESP):uint32,o78(4):int32 I84: POP o74(ESI):uint32 I85: POP o75(EBP):uint32 I86: POP o76(EBX):uint32 I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=60 stageName=stack subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=60 stageGroup=IA32 stageName=stack stageTag=stack ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=61 stageGroup=IA32 stageName=peephole stageTag=peephole ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=61 stageName=peephole subKind=after Printing IR peephole - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after peephole ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] Layout Succ: BB_1 I0: (AD:t62[v60(ESP)+t61(4)]:cls:java/lang/String[]) =EntryPointPseudoInst I87: (ID:s11(EFLGS):uint32) =TEST t80[v60(ESP)+t79(-28)]:intptr,v60(ESP):uint32 I81: PUSH t76(EBX):uint32 I80: PUSH t75(EBP):uint32 I79: PUSH t74(ESI):uint32 I82: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t77(4):int32 BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] Layout Succ: BB_2 I76: PUSH t3(0:ah:cls:a):ptr:intptr I75: PUSH t2(0:sz:cls:a):int32 I1: (AD:t59(EAX):cls:a) =CALL t5(0:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(0:sz:cls:a):int32,t3(0:ah:cls:a):ptr:intptr) [bcmap:0] I74: MOV t4(EBX):cls:a,t59(EAX):cls:a BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] Layout Succ: BB_3 I2: MethodEntryPseudoInst[a.]--- [bcmap:4] I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] I4: MethodEndPseudoInst[java/lang/Object.]+++ I5: MethodEndPseudoInst[a.]+++ I73: (ID:s11(EFLGS):uint32) =XOR v0(EBP):int32,v0(EBP):int32 I72: MOV s41(ESI):ptr:intptr,t43(FS:[t42(20)]):ptr:int8 I29: (ID:s11(EFLGS):uint32) =ADD s41(ESI):ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_13 BB_2 BB_32 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) Layout Succ: BB_4 I8: (ID:s11(EFLGS):uint32) =CMP v0(EBP):int32,t10(19992):int32 I9: JNL BB_26 t12(0):int32 (IU:s11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_6 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_6 I44: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t63(8):int32 I71: PUSH t4(EBX):cls:a I10: (AD:t14(EAX):cls:.Unresolved) =CALL t13(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_7 I46: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t64(8):int32 I70: PUSH t4(EBX):cls:a I12: (AD:t17(EAX):cls:.Unresolved) =CALL t16(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_8 I48: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t65(8):int32 I69: PUSH t4(EBX):cls:a I13: (AD:t19(EAX):cls:.Unresolved) =CALL t18(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_9 I50: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t66(8):int32 I68: PUSH t4(EBX):cls:a I14: (AD:t21(EAX):cls:.Unresolved) =CALL t20(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_10 I52: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t67(8):int32 I67: PUSH t4(EBX):cls:a I15: (AD:t23(EAX):cls:.Unresolved) =CALL t22(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_11 I54: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t68(8):int32 I66: PUSH t4(EBX):cls:a I16: (AD:t25(EAX):cls:.Unresolved) =CALL t24(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_12 I56: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t69(8):int32 I65: PUSH t4(EBX):cls:a I17: (AD:t27(EAX):cls:.Unresolved) =CALL t26(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_13 I58: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t70(8):int32 I64: PUSH t4(EBX):cls:a I18: (AD:t29(EAX):cls:.Unresolved) =CALL t28(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_25 [Prob=1e-007](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) Layout Succ: BB_25 I37: (AD:s31(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I19: (ID:s11(EFLGS):uint32) =ADD s31(EBP):int32,t30(8):int32 I20: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s31(EBP):int32) I30: (ID:s11(EFLGS):uint32) =CMP t46[s41(ESI)+t45(0)]:int32,t47(0):int32 I31: JZ BB_3 t48(0):int32 (IU:s11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: UN_16 [Prob=1e-007](loopexit) BB_32 [Prob=1] Layout Succ: BB_32 I32: CALL t49(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_32 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_25 Successors: BB_3 [Prob=1](backedge) Layout Succ: BB_26 I78: JMP t73(0):int32 BB_26 PersistentId = 0 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] Layout Succ: BB_14 I63: MOV s50(ESI):ptr:intptr,t52(FS:[t51(20)]):ptr:int8 I33: (ID:s11(EFLGS):uint32) =ADD s50(ESI):ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_17 BB_26 BB_31 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) Layout Succ: BB_15 I22: (ID:s11(EFLGS):uint32) =CMP v0(EBP):int32,t33(20000):int32 I23: JNL BB_18_epilog t34(0):int32 (IU:s11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_17 I60: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t71(8):int32 I62: PUSH t4(EBX):cls:a I24: (AD:t36(EAX):cls:.Unresolved) =CALL t35(0:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_30 [Prob=1e-007](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) Layout Succ: BB_30 I38: (AD:s39(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) I26: (ID:s11(EFLGS):uint32) =ADD s39(EBP):int32,t38(1):int32 I27: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s39(EBP):int32) I34: (ID:s11(EFLGS):uint32) =CMP t55[s50(ESI)+t54(0)]:int32,t56(0):int32 I35: JZ BB_14 t57(0):int32 (IU:s11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: UN_16 [Prob=1e-007](loopexit) BB_31 [Prob=1] Layout Succ: BB_31 I36: CALL t58(0:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_31 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_30 Successors: BB_14 [Prob=1](backedge) Layout Succ: BB_18_epilog I77: JMP t72(0):int32 UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 BB_30 BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] Layout Succ: NULL I83: (ID:s11(EFLGS):uint32) =ADD v60(ESP):uint32,t78(4):int32 I84: POP t74(ESI):uint32 I85: POP t75(EBP):uint32 I86: POP t76(EBX):uint32 I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=61 stageName=peephole subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=61 stageGroup=IA32 stageName=peephole stageTag=peephole ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=62 stageGroup=IA32 stageName=emitter stageTag=emitter ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=62 stageName=emitter subKind=after Printing IR emitter - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after emitter ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] Layout Succ: BB_1 Block code address: 015B0070 DEADBEEF I0: (AD:t62[v60(ESP)+t61(4)]:cls:java/lang/String[]) =EntryPointPseudoInst 015B0070 I87: (ID:s11(EFLGS):uint32) =TEST t80[v60(ESP)+t79(-28)]:intptr,v60(ESP):uint32 015B0074 I81: PUSH t76(EBX):uint32 015B0075 I80: PUSH t75(EBP):uint32 015B0076 I79: PUSH t74(ESI):uint32 015B0077 I82: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t77(4):int32 BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] Layout Succ: BB_2 Block code address: 015B007D 015B007D I76: PUSH t3(9896272:ah:cls:a):ptr:intptr 015B0082 I75: PUSH t2(8:sz:cls:a):int32 015B0087 I1: (AD:t59(EAX):cls:a) =CALL t5(-13169836:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(8:sz:cls:a):int32,t3(9896272:ah:cls:a):ptr:intptr) [bcmap:0] 015B008C I74: MOV t4(EBX):cls:a,t59(EAX):cls:a BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] Layout Succ: BB_3 Block code address: 015B008E DEADBEEF I2: MethodEntryPseudoInst[a.]--- [bcmap:4] DEADBEEF I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] DEADBEEF I4: MethodEndPseudoInst[java/lang/Object.]+++ DEADBEEF I5: MethodEndPseudoInst[a.]+++ 015B008E I73: (ID:s11(EFLGS):uint32) =XOR v0(EBP):int32,v0(EBP):int32 015B0090 I72: MOV s41(ESI):ptr:intptr,t43(FS:[t42(20)]):ptr:int8 015B0098 I29: (ID:s11(EFLGS):uint32) =ADD s41(ESI):ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_13 BB_2 BB_32 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) Layout Succ: BB_4 Block code address: 015B00A0 015B00A0 I8: (ID:s11(EFLGS):uint32) =CMP v0(EBP):int32,t10(19992):int32 015B00A6 I9: JNL BB_26 t12(148):int32 (IU:s11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_6 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_6 Block code address: 015B00AC 015B00AC I44: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t63(8):int32 015B00B2 I71: PUSH t4(EBX):cls:a 015B00B3 I88: NOP 015B00B6 I10: (AD:t14(EAX):cls:.Unresolved) =CALL t13(-155:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_7 Block code address: 015B00BB 015B00BB I46: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t64(8):int32 015B00C1 I70: PUSH t4(EBX):cls:a 015B00C2 I89: NOP 015B00C5 I12: (AD:t17(EAX):cls:.Unresolved) =CALL t16(-170:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_8 Block code address: 015B00CA 015B00CA I48: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t65(8):int32 015B00D0 I69: PUSH t4(EBX):cls:a 015B00D1 I90: NOP 015B00D4 I13: (AD:t19(EAX):cls:.Unresolved) =CALL t18(-185:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_9 Block code address: 015B00D9 015B00D9 I50: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t66(8):int32 015B00DF I68: PUSH t4(EBX):cls:a 015B00E0 I91: NOP 015B00E3 I14: (AD:t21(EAX):cls:.Unresolved) =CALL t20(-200:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_10 Block code address: 015B00E8 015B00E8 I52: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t67(8):int32 015B00EE I67: PUSH t4(EBX):cls:a 015B00EF I92: NOP 015B00F2 I15: (AD:t23(EAX):cls:.Unresolved) =CALL t22(-215:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_11 Block code address: 015B00F7 015B00F7 I54: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t68(8):int32 015B00FD I66: PUSH t4(EBX):cls:a 015B00FE I93: NOP 015B0101 I16: (AD:t25(EAX):cls:.Unresolved) =CALL t24(-230:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_12 Block code address: 015B0106 015B0106 I56: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t69(8):int32 015B010C I65: PUSH t4(EBX):cls:a 015B010D I94: NOP 015B0110 I17: (AD:t27(EAX):cls:.Unresolved) =CALL t26(-245:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_13 Block code address: 015B0115 015B0115 I58: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t70(8):int32 015B011B I64: PUSH t4(EBX):cls:a 015B011C I95: NOP 015B011F I18: (AD:t29(EAX):cls:.Unresolved) =CALL t28(-260:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_25 [Prob=1e-007](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) Layout Succ: BB_25 Block code address: 015B0124 DEADBEEF I37: (AD:s31(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) 015B0124 I19: (ID:s11(EFLGS):uint32) =ADD s31(EBP):int32,t30(8):int32 DEADBEEF I20: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s31(EBP):int32) 015B012A I30: (ID:s11(EFLGS):uint32) =CMP t46[s41(ESI)+t45(0)]:int32,t47(0):int32 015B0130 I31: JZ BB_3 t48(-150):int32 (IU:s11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: UN_16 [Prob=1e-007](loopexit) BB_32 [Prob=1] Layout Succ: BB_32 Block code address: 015B0136 015B0136 I32: CALL t49(-13170283:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_32 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_25 Successors: BB_3 [Prob=1](backedge) Layout Succ: BB_26 Block code address: 015B013B 015B013B I78: JMP t73(-160):int32 BB_26 PersistentId = 0 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] Layout Succ: BB_14 Block code address: 015B0140 015B0140 I63: MOV s50(ESI):ptr:intptr,t52(FS:[t51(20)]):ptr:int8 015B0148 I33: (ID:s11(EFLGS):uint32) =ADD s50(ESI):ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_17 BB_26 BB_31 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) Layout Succ: BB_15 Block code address: 015B0150 015B0150 I22: (ID:s11(EFLGS):uint32) =CMP v0(EBP):int32,t33(20000):int32 015B0156 I23: JNL BB_18_epilog o81(36):int8 (IU:s11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_17 Block code address: 015B0158 015B0158 I60: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t71(8):int32 015B015E I62: PUSH t4(EBX):cls:a 015B015F I96: NOP 015B0162 I24: (AD:t36(EAX):cls:.Unresolved) =CALL t35(-327:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_30 [Prob=1e-007](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) Layout Succ: BB_30 Block code address: 015B0167 DEADBEEF I38: (AD:s39(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) 015B0167 I26: (ID:s11(EFLGS):uint32) =ADD s39(EBP):int32,t38(1):int32 DEADBEEF I27: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s39(EBP):int32) 015B016D I34: (ID:s11(EFLGS):uint32) =CMP t55[s50(ESI)+t54(0)]:int32,t56(0):int32 015B0173 I35: JZ BB_14 o82(-37):int8 (IU:s11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: UN_16 [Prob=1e-007](loopexit) BB_31 [Prob=1] Layout Succ: BB_31 Block code address: 015B0175 015B0175 I36: CALL t58(-13170346:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_31 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_30 Successors: BB_14 [Prob=1](backedge) Layout Succ: BB_18_epilog Block code address: 015B017A 015B017A I77: JMP o83(-44):int8 UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 BB_30 BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] Layout Succ: NULL Block code address: 015B017C 015B017C I83: (ID:s11(EFLGS):uint32) =ADD v60(ESP):uint32,t78(4):int32 015B0182 I84: POP t74(ESI):uint32 015B0183 I85: POP t75(EBP):uint32 015B0184 I86: POP t76(EBX):uint32 015B0185 I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=62 stageName=emitter subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=62 stageGroup=IA32 stageName=emitter stageTag=emitter ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=63 stageGroup=IA32 stageName=si_insts stageTag=si_insts ======================================================================== ======================================================================== __STAGE_END__: stageId=63 stageGroup=IA32 stageName=si_insts stageTag=si_insts ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=64 stageGroup=IA32 stageName=gcmap stageTag=gcmap ======================================================================== ------------------------------------------------------------- ======================================================================== __IR_DUMP_BEGIN__: stageId=64 stageName=gcmap subKind=after Printing IR gcmap - after ======================================================================== ==================================================================== a.main IA32 LIR CFG after gcmap ==================================================================== BB_0_prolog PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: Successors: BB_1 [Prob=1] Layout Succ: BB_1 Block code address: 015B0070 DEADBEEF I0: (AD:t62[v60(ESP)+t61(4)]:cls:java/lang/String[]) =EntryPointPseudoInst 015B0070 I87: (ID:s11(EFLGS):uint32) =TEST t80[v60(ESP)+t79(-28)]:intptr,v60(ESP):uint32 015B0074 I81: PUSH t76(EBX):uint32 015B0075 I80: PUSH t75(EBP):uint32 015B0076 I79: PUSH t74(ESI):uint32 015B0077 I82: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t77(4):int32 BB_1 PersistentId = 0 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_0_prolog Successors: BB_2 [Prob=1] UN_16 [Prob=1e-007] Layout Succ: BB_2 Block code address: 015B007D 015B007D I76: PUSH t3(9896272:ah:cls:a):ptr:intptr 015B0082 I75: PUSH t2(8:sz:cls:a):int32 015B0087 I1: (AD:t59(EAX):cls:a) =CALL t5(-13169836:h:VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE):int32 (AU:t2(8:sz:cls:a):int32,t3(9896272:ah:cls:a):ptr:intptr) [bcmap:0] 015B008C I74: MOV t4(EBX):cls:a,t59(EAX):cls:a BB_2 PersistentId = 8 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_1 Successors: BB_3 [Prob=1] Layout Succ: BB_3 Block code address: 015B008E DEADBEEF I2: MethodEntryPseudoInst[a.]--- [bcmap:4] DEADBEEF I3: MethodEntryPseudoInst[java/lang/Object.]--- [bcmap:1] DEADBEEF I4: MethodEndPseudoInst[java/lang/Object.]+++ DEADBEEF I5: MethodEndPseudoInst[a.]+++ 015B008E I73: (ID:s11(EFLGS):uint32) =XOR v0(EBP):int32,v0(EBP):int32 015B0090 I72: MOV s41(ESI):ptr:intptr,t43(FS:[t42(20)]):ptr:int8 015B0098 I29: (ID:s11(EFLGS):uint32) =ADD s41(ESI):ptr:intptr,t44(4):ptr:intptr BB_3 PersistentId = 18 ExecCnt = 99999.3 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_13 BB_2 BB_32 Successors: BB_26 [Prob=0.1](loopexit)(Br=I9) BB_4 [Prob=0.9](Br=I9) Layout Succ: BB_4 Block code address: 015B00A0 015B00A0 I8: (ID:s11(EFLGS):uint32) =CMP v0(EBP):int32,t10(19992):int32 015B00A6 I9: JNL BB_26 t12(148):int32 (IU:s11(EFLGS):uint32) BB_4 PersistentId = 2 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_3 Successors: BB_6 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_6 Block code address: 015B00AC 015B00AC I44: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t63(8):int32 015B00B2 I71: PUSH t4(EBX):cls:a 015B00B3 I88: NOP 015B00B6 I10: (AD:t14(EAX):cls:.Unresolved) =CALL t13(-155:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_6 PersistentId = 26 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_4 Successors: BB_7 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_7 Block code address: 015B00BB 015B00BB I46: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t64(8):int32 015B00C1 I70: PUSH t4(EBX):cls:a 015B00C2 I89: NOP 015B00C5 I12: (AD:t17(EAX):cls:.Unresolved) =CALL t16(-170:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_7 PersistentId = 30 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_6 Successors: BB_8 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_8 Block code address: 015B00CA 015B00CA I48: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t65(8):int32 015B00D0 I69: PUSH t4(EBX):cls:a 015B00D1 I90: NOP 015B00D4 I13: (AD:t19(EAX):cls:.Unresolved) =CALL t18(-185:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_8 PersistentId = 34 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_7 Successors: BB_9 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_9 Block code address: 015B00D9 015B00D9 I50: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t66(8):int32 015B00DF I68: PUSH t4(EBX):cls:a 015B00E0 I91: NOP 015B00E3 I14: (AD:t21(EAX):cls:.Unresolved) =CALL t20(-200:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_9 PersistentId = 38 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_8 Successors: BB_10 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_10 Block code address: 015B00E8 015B00E8 I52: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t67(8):int32 015B00EE I67: PUSH t4(EBX):cls:a 015B00EF I92: NOP 015B00F2 I15: (AD:t23(EAX):cls:.Unresolved) =CALL t22(-215:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_10 PersistentId = 42 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_9 Successors: BB_11 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_11 Block code address: 015B00F7 015B00F7 I54: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t68(8):int32 015B00FD I66: PUSH t4(EBX):cls:a 015B00FE I93: NOP 015B0101 I16: (AD:t25(EAX):cls:.Unresolved) =CALL t24(-230:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_11 PersistentId = 46 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_10 Successors: BB_12 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_12 Block code address: 015B0106 015B0106 I56: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t69(8):int32 015B010C I65: PUSH t4(EBX):cls:a 015B010D I94: NOP 015B0110 I17: (AD:t27(EAX):cls:.Unresolved) =CALL t26(-245:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_12 PersistentId = 50 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_11 Successors: BB_13 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_13 Block code address: 015B0115 015B0115 I58: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t70(8):int32 015B011B I64: PUSH t4(EBX):cls:a 015B011C I95: NOP 015B011F I18: (AD:t29(EAX):cls:.Unresolved) =CALL t28(-260:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_13 PersistentId = 51 ExecCnt = 89999.3 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_12 Successors: BB_25 [Prob=1e-007](Br=I31) BB_3 [Prob=1](backedge)(Br=I31) Layout Succ: BB_25 Block code address: 015B0124 DEADBEEF I37: (AD:s31(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) 015B0124 I19: (ID:s11(EFLGS):uint32) =ADD s31(EBP):int32,t30(8):int32 DEADBEEF I20: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s31(EBP):int32) 015B012A I30: (ID:s11(EFLGS):uint32) =CMP t46[s41(ESI)+t45(0)]:int32,t47(0):int32 015B0130 I31: JZ BB_3 t48(-150):int32 (IU:s11(EFLGS):uint32) BB_25 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_13 Successors: UN_16 [Prob=1e-007](loopexit) BB_32 [Prob=1] Layout Succ: BB_32 Block code address: 015B0136 015B0136 I32: CALL t49(-13170283:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_32 PersistentId = 0 ExecCnt = 0.00899993 Loop: Depth=1, !hdr, hdr=BB_3 Predcessors: BB_25 Successors: BB_3 [Prob=1](backedge) Layout Succ: BB_26 Block code address: 015B013B 015B013B I78: JMP t73(-160):int32 BB_26 PersistentId = 0 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_3 Successors: BB_14 [Prob=1] Layout Succ: BB_14 Block code address: 015B0140 015B0140 I63: MOV s50(ESI):ptr:intptr,t52(FS:[t51(20)]):ptr:int8 015B0148 I33: (ID:s11(EFLGS):uint32) =ADD s50(ESI):ptr:intptr,t53(4):ptr:intptr BB_14 PersistentId = 20 ExecCnt = 27999.8 Loop: Depth=1, hdr, hdr= NULL Predcessors: BB_17 BB_26 BB_31 Successors: BB_18_epilog [Prob=0.357143](loopexit)(Br=I23) BB_15 [Prob=0.642857](Br=I23) Layout Succ: BB_15 Block code address: 015B0150 015B0150 I22: (ID:s11(EFLGS):uint32) =CMP v0(EBP):int32,t33(20000):int32 015B0156 I23: JNL BB_18_epilog t81(36):int8 (IU:s11(EFLGS):uint32) BB_15 PersistentId = 21 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_14 Successors: BB_17 [Prob=1] UN_16 [Prob=1e-007](loopexit) Layout Succ: BB_17 Block code address: 015B0158 015B0158 I60: (ID:s11(EFLGS):uint32) =SUB v60(ESP):uint32,t71(8):int32 015B015E I62: PUSH t4(EBX):cls:a 015B015F I96: NOP 015B0162 I24: (AD:t36(EAX):cls:.Unresolved) =CALL t35(-327:m:a.work):int32 (AU:t4(EBX):cls:a) [bcmap:20] BB_17 PersistentId = 22 ExecCnt = 17999.9 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_15 Successors: BB_30 [Prob=1e-007](Br=I35) BB_14 [Prob=1](backedge)(Br=I35) Layout Succ: BB_30 Block code address: 015B0167 DEADBEEF I38: (AD:s39(EBP):int32) =CopyPseudoInst/MOV (AU:v0(EBP):int32) 015B0167 I26: (ID:s11(EFLGS):uint32) =ADD s39(EBP):int32,t38(1):int32 DEADBEEF I27: (AD:v0(EBP):int32) =CopyPseudoInst/MOV (AU:s39(EBP):int32) 015B016D I34: (ID:s11(EFLGS):uint32) =CMP t55[s50(ESI)+t54(0)]:int32,t56(0):int32 015B0173 I35: JZ BB_14 t82(-37):int8 (IU:s11(EFLGS):uint32) BB_30 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_17 Successors: UN_16 [Prob=1e-007](loopexit) BB_31 [Prob=1] Layout Succ: BB_31 Block code address: 015B0175 015B0175 I36: CALL t58(-13170346:h:VM_RT_GC_SAFE_POINT):int32 [bcmap:unknown] BB_31 PersistentId = 0 ExecCnt = 0.00179999 Loop: Depth=1, !hdr, hdr=BB_14 Predcessors: BB_30 Successors: BB_14 [Prob=1](backedge) Layout Succ: BB_18_epilog Block code address: 015B017A 015B017A I77: JMP t83(-44):int8 UN_16 PersistentId = 6 ExecCnt = 0.0747994 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_25 BB_30 BB_1 BB_4 BB_6 BB_7 BB_8 BB_9 BB_10 BB_11 BB_12 BB_15 Successors: EN_20 [Prob=1] BB_18_epilog PersistentId = 3 ExecCnt = 9999.93 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_14 Successors: EN_20 [Prob=1] Layout Succ: NULL Block code address: 015B017C 015B017C I83: (ID:s11(EFLGS):uint32) =ADD v60(ESP):uint32,t78(4):int32 015B0182 I84: POP t74(ESI):uint32 015B0183 I85: POP t75(EBP):uint32 015B0184 I86: POP t76(EBX):uint32 015B0185 I28: RET t40(12):int16 EN_20 PersistentId = 7 ExecCnt = 10000 Loop: Depth=0, !hdr, hdr=NULL Predcessors: BB_18_epilog UN_16 Successors: ======================================================================== __IR_DUMP_END__: stageId=64 stageName=gcmap subKind=after ======================================================================== ======================================================================== __STAGE_END__: stageId=64 stageGroup=IA32 stageName=gcmap stageTag=gcmap ======================================================================== ======================================================================== __STAGE_BEGIN__: stageId=65 stageGroup=IA32 stageName=info stageTag=info ======================================================================== ======================================================================== __STAGE_END__: stageId=65 stageGroup=IA32 stageName=info stageTag=info ========================================================================