blob: c2498d67ca26743ef28d587ac00c9b001a288a57 [file] [log] [blame] [edit]
--- C.
B0 = EntryBlock()
v6 = Constant(null)
v1 = Parameter(this) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
DirectCall Object.(v1) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(NullConstant(null) -> R0)
Return(v6) # RA: (R0)
--- C.typeParameters
B0 = EntryBlock()
v9 = Constant(null)
v1 = Parameter(#functionTypeParameters) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(this) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v3 = Parameter(x) # RA: param[2] <- ()
ParallelMove output(param[2] -> vloc:R2)
v20 = LoadInstanceField(C.#typeArguments, v2) # RA: R3 <- (R1)
v10 = TypeTest(v3, v9, v20, List<C.T%>) # RA: R3 <- (R2, -, R3)
DirectCall print(v10) # RA: R0 <- (R3) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove split(param[0] -> R1, param[2] -> R2)
v13 = TypeTest(v3, v1, v9, List<C.typeParameters.U%>) # RA: R0 <- (R2, R1, -)
DirectCall print(v13) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove split(param[1] -> R1)
v19 = LoadInstanceField(C.#typeArguments, v2) # RA: R0 <- (R1)
ParallelMove split(param[0] -> R1, param[2] -> R2)
v16 = TypeCast(v3, v1, v19, Map<C.T%, C.typeParameters.U%>) # RA: R0 <- (R2, R1, R0)
DirectCall print(v16) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(NullConstant(null) -> R0)
Return(v9) # RA: (R0)
--- test1
B0 = EntryBlock()
Constant(0)
v1 = Parameter(a) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(b) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v7 = Comparison int & == 0(v1, v2) # RA: R0 <- (R0, R1)
ParallelMove input(vloc:R0 -> R0)
Return(v7) # RA: (R0)
--- test2
B0 = EntryBlock() dominates:(B9, B11, B8)
Constant(0)
v13 = Constant("yes")
v25 = Constant("no")
v28 = Constant(null)
v1 = Parameter(a) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(b) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v7 = Comparison int & == 0(v1, v2) # RA: R0 <- (R0, R1)
ParallelMove spill(R0 -> stack[0])
Branch(v7, true: B8, false: B9) # RA: (R0)
B8 = TargetBlock() idom:B0
DirectCall print(v13) # RA: R0 <- (-) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
Goto(B11)
B9 = TargetBlock() idom:B0
Goto(B11)
B11 = JoinBlock(B9, B8) idom:B0 dominates:(B21, B23, B20)
ParallelMove split(stack[0] -> R0)
Branch(v7, true: B20, false: B21) # RA: (R0)
B20 = TargetBlock() idom:B11
Goto(B23)
B21 = TargetBlock() idom:B11
DirectCall print(v25) # RA: R0 <- (-) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
Goto(B23)
B23 = JoinBlock(B21, B20) idom:B11
ParallelMove input(NullConstant(null) -> R0)
Return(v28) # RA: (R0)
--- test3
B0 = EntryBlock() dominates:(B11, B13, B10)
Constant(0)
v15 = Constant("yes")
v1 = Parameter(a) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(b) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v7 = Comparison int & == 0(v1, v2) # RA: R0 <- (R0, R1)
ParallelMove spill(R0 -> stack[0])
Branch(v7, true: B10, false: B11) # RA: (R0)
B10 = TargetBlock() idom:B0
DirectCall print(v15) # RA: R0 <- (-) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
Goto(B13)
B11 = TargetBlock() idom:B0
Goto(B13)
B13 = JoinBlock(B11, B10) idom:B0
ParallelMove split(stack[0] -> R0)
ParallelMove input(vloc:R0 -> R0)
Return(v7) # RA: (R0)
--- test4
B0 = EntryBlock() dominates:(B8, B14, B16, B7)
v19 = Constant(1)
v30 = Constant(2)
v33 = Constant(null)
v1 = Parameter(a) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(b) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v3 = Parameter(c) # RA: param[2] <- ()
ParallelMove output(param[2] -> vloc:R2)
v6 = Comparison int >(v1, v2) # RA: R0 <- (R0, R1)
ParallelMove spill(R0 -> stack[0])
Branch(v6, true: B7, false: B8) # RA: (R0)
B7 = TargetBlock() idom:B0
Goto(B16)
B8 = TargetBlock() idom:B0 dominates:(B12, B11)
Branch(v3, true: B11, false: B12) # RA: (R2)
B11 = TargetBlock() idom:B8
Goto(B16)
B16 = JoinBlock(B11, B7) idom:B0
DirectCall print(v19) # RA: R0 <- (-) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
Goto(B14)
B12 = TargetBlock() idom:B8
Goto(B14)
B14 = JoinBlock(B12, B16) idom:B0 dominates:(B26, B28, B25)
ParallelMove split(stack[0] -> R0)
Branch(v6, true: B25, false: B26) # RA: (R0)
B25 = TargetBlock() idom:B14
DirectCall print(v30) # RA: R0 <- (-) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
Goto(B28)
B26 = TargetBlock() idom:B14
Goto(B28)
B28 = JoinBlock(B26, B25) idom:B14
ParallelMove input(NullConstant(null) -> R0)
Return(v33) # RA: (R0)
--- test5
B0 = EntryBlock() dominates:(B7, B6)
v3 = Constant(32)
v11 = Constant(1)
v14 = Constant(16)
v16 = Constant(8)
v23 = Constant(2)
v25 = Constant(257)
v37 = Constant(3)
v47 = Constant(4)
v50 = Constant(7)
v58 = Constant(5)
v62 = Constant(-1)
v1 = Parameter(a) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
CompareAndBranch int & != 0(v1, v3, true: B6, false: B7) # RA: (R0, -)
B6 = TargetBlock() idom:B0
ParallelMove input(IntConstant(1) -> R0)
Return(v11) # RA: (R0)
B7 = TargetBlock() idom:B0 dominates:(B19, B18)
v15 = BinaryIntOp &(v1, v14) # RA: R1 <- (R0, -)
CompareAndBranch int ==(v15, v16, true: B18, false: B19) # RA: (R1, -)
B18 = TargetBlock() idom:B7
ParallelMove input(IntConstant(2) -> R0)
Return(v23) # RA: (R0)
B19 = TargetBlock() idom:B7 dominates:(B33, B32)
v29 = BinaryIntOp &(v1, v25) # RA: R1 <- (R0, -)
CompareAndBranch int ==(v29, v25, true: B32, false: B33) # RA: (R1, -)
B32 = TargetBlock() idom:B19
ParallelMove input(IntConstant(3) -> R0)
Return(v37) # RA: (R0)
B33 = TargetBlock() idom:B19 dominates:(B43, B42)
CompareAndBranch int & != 0(v1, v16, true: B42, false: B43) # RA: (R0, -)
B42 = TargetBlock() idom:B33 dominates:(B54, B53)
v51 = BinaryIntOp &(v1, v50) # RA: R0 <- (R0, -)
CompareAndBranch int ==(v51, v50, true: B53, false: B54) # RA: (R0, -)
B53 = TargetBlock() idom:B42
ParallelMove input(IntConstant(-1) -> R0)
Return(v62) # RA: (R0)
B54 = TargetBlock() idom:B42
ParallelMove input(IntConstant(5) -> R0)
Return(v58) # RA: (R0)
B43 = TargetBlock() idom:B33
ParallelMove input(IntConstant(4) -> R0)
Return(v47) # RA: (R0)
--- listLiterals
B0 = EntryBlock()
v5 = Constant(<dynamic>)
v6 = Constant(0)
v9 = Constant(null)
v13 = Constant(<int>)
v14 = Constant(1)
v15 = Constant(2)
v16 = Constant(3)
v19 = Constant(4)
v20 = Constant(5)
v21 = Constant(6)
v22 = Constant(7)
v23 = Constant(8)
v24 = Constant(9)
v1 = Parameter(#functionTypeParameters) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(x) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v7 = DirectCall _GrowableList.(v5, v6) # RA: R0 <- (-, -) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v7) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove split(param[0] -> R1)
v10 = TypeArguments(v1, v9, <listLiterals.T%>) # RA: R0 <- (R1, -)
ParallelMove spill(R0 -> stack[0])
v11 = DirectCall _GrowableList.(v10, v6) # RA: R0 <- (R0, -) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v11) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
v17 = DirectCall _GrowableList._literal3(v13, v14, v15, v16) # RA: R0 <- (-, -, -, -) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v17) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(IntConstant(9) -> vloc:R0)
v40 = AllocateList(v24) # RA: R0 <- (R0)
ParallelMove input(IntConstant(0) -> vloc:R2, IntConstant(1) -> vloc:R1)
SetListElement(v40, v6, v14) # RA: (R0, R2, R1)
ParallelMove input(IntConstant(1) -> vloc:R2, IntConstant(2) -> vloc:R1)
SetListElement(v40, v14, v15) # RA: (R0, R2, R1)
ParallelMove input(IntConstant(2) -> vloc:R2, IntConstant(3) -> vloc:R1)
SetListElement(v40, v15, v16) # RA: (R0, R2, R1)
ParallelMove input(IntConstant(3) -> vloc:R2, IntConstant(4) -> vloc:R1)
SetListElement(v40, v16, v19) # RA: (R0, R2, R1)
ParallelMove input(IntConstant(4) -> vloc:R1, IntConstant(5) -> vloc:R2)
SetListElement(v40, v19, v20) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(5) -> vloc:R1, IntConstant(6) -> vloc:R2)
SetListElement(v40, v20, v21) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(6) -> vloc:R1, IntConstant(7) -> vloc:R2)
SetListElement(v40, v21, v22) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(7) -> vloc:R2, IntConstant(8) -> vloc:R1)
SetListElement(v40, v22, v23) # RA: (R0, R2, R1)
ParallelMove input(IntConstant(8) -> vloc:R1, IntConstant(9) -> vloc:R2)
SetListElement(v40, v23, v24) # RA: (R0, R1, R2)
v50 = DirectCall _GrowableList._literal(v13, v40) # RA: R0 <- (-, R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v50) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(IntConstant(9) -> vloc:R0)
v51 = AllocateList(v24) # RA: R0 <- (R0)
ParallelMove split(param[1] -> R2)
ParallelMove input(IntConstant(0) -> vloc:R1)
SetListElement(v51, v6, v2) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(1) -> vloc:R1)
SetListElement(v51, v14, v2) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(2) -> vloc:R1)
SetListElement(v51, v15, v2) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(3) -> vloc:R1)
SetListElement(v51, v16, v2) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(4) -> vloc:R1)
SetListElement(v51, v19, v2) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(5) -> vloc:R1)
SetListElement(v51, v20, v2) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(6) -> vloc:R1)
SetListElement(v51, v21, v2) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(7) -> vloc:R1)
SetListElement(v51, v22, v2) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(8) -> vloc:R1)
SetListElement(v51, v23, v2) # RA: (R0, R1, R2)
ParallelMove split(stack[0] -> R1)
v61 = DirectCall _GrowableList._literal(v10, v51) # RA: R0 <- (R1, R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v61) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(NullConstant(null) -> R0)
Return(v9) # RA: (R0)
--- mapLiterals
B0 = EntryBlock()
v8 = Constant(<dynamic, dynamic>)
v11 = Constant(null)
v15 = Constant(<String, String>)
v16 = Constant("a")
v17 = Constant("aa")
v18 = Constant("b")
v19 = Constant("bb")
v31 = Constant(InstanceConstant(const List<dynamic>{}))
v34 = Constant(4)
v36 = Constant(0)
v38 = Constant(1)
v40 = Constant(2)
v42 = Constant(3)
v1 = Parameter(#functionTypeParameters) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(key) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v3 = Parameter(value) # RA: param[2] <- ()
ParallelMove output(param[2] -> vloc:R2)
v4 = Parameter(key2) # RA: param[3] <- ()
ParallelMove output(param[3] -> vloc:R3)
v5 = Parameter(value2) # RA: param[4] <- ()
ParallelMove output(param[4] -> vloc:R4)
v32 = DirectCall Map._fromLiteral(v8, v31) # RA: R0 <- (-, -) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v32) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove split(param[0] -> R1)
v12 = TypeArguments(v1, v11, <mapLiterals.S%, mapLiterals.T%>) # RA: R0 <- (R1, -)
ParallelMove spill(R0 -> stack[0])
v33 = DirectCall Map._fromLiteral(v12, v31) # RA: R0 <- (R0, -) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v33) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(IntConstant(4) -> vloc:R1)
v35 = AllocateList(v34) # RA: R0 <- (R1)
ParallelMove input(IntConstant(0) -> vloc:R1, StringConstant("a") -> vloc:R2)
SetListElement(v35, v36, v16) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(1) -> vloc:R1, StringConstant("aa") -> vloc:R2)
SetListElement(v35, v38, v17) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(2) -> vloc:R1, StringConstant("b") -> vloc:R2)
SetListElement(v35, v40, v18) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(3) -> vloc:R1, StringConstant("bb") -> vloc:R2)
SetListElement(v35, v42, v19) # RA: (R0, R1, R2)
v44 = DirectCall Map._fromLiteral(v15, v35) # RA: R0 <- (-, R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v44) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove split(param[2] -> R1)
v25 = ClosureCall(v3) # RA: R0 <- (R1) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
ParallelMove input(IntConstant(4) -> vloc:R1)
v45 = AllocateList(v34) # RA: R1 <- (R1)
ParallelMove split(param[1] -> R3)
ParallelMove input(IntConstant(0) -> vloc:R2)
SetListElement(v45, v36, v2) # RA: (R1, R2, R3)
ParallelMove input(IntConstant(1) -> vloc:R2)
SetListElement(v45, v38, v25) # RA: (R1, R2, R0)
ParallelMove split(param[3] -> R2)
ParallelMove input(IntConstant(2) -> vloc:R0)
SetListElement(v45, v40, v4) # RA: (R1, R0, R2)
ParallelMove split(param[4] -> R2)
ParallelMove input(IntConstant(3) -> vloc:R0)
SetListElement(v45, v42, v5) # RA: (R1, R0, R2)
ParallelMove split(stack[0] -> R0)
v50 = DirectCall Map._fromLiteral(v12, v45) # RA: R0 <- (R0, R1) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v50) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(NullConstant(null) -> R0)
Return(v11) # RA: (R0)
--- stringInterpolation
B0 = EntryBlock()
v7 = Constant("Hey, x=")
v9 = Constant(", s=")
v11 = Constant(", o=")
v15 = Constant(null)
v18 = Constant(6)
v20 = Constant(0)
v22 = Constant(1)
v24 = Constant(2)
v26 = Constant(3)
v28 = Constant(4)
v30 = Constant(5)
v1 = Parameter(x) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(s) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v3 = Parameter(o) # RA: param[2] <- ()
ParallelMove output(param[2] -> vloc:R2)
v17 = DirectCall _StringBase._interpolateSingle(v3) # RA: R0 <- (R2) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v17) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(IntConstant(6) -> vloc:R1)
v19 = AllocateList(v18) # RA: R0 <- (R1)
ParallelMove input(IntConstant(0) -> vloc:R1, StringConstant("Hey, x=") -> vloc:R2)
SetListElement(v19, v20, v7) # RA: (R0, R1, R2)
ParallelMove split(param[0] -> R2)
ParallelMove input(IntConstant(1) -> vloc:R1)
SetListElement(v19, v22, v1) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(2) -> vloc:R1, StringConstant(", s=") -> vloc:R2)
SetListElement(v19, v24, v9) # RA: (R0, R1, R2)
ParallelMove split(param[1] -> R2)
ParallelMove input(IntConstant(3) -> vloc:R1)
SetListElement(v19, v26, v2) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(4) -> vloc:R1, StringConstant(", o=") -> vloc:R2)
SetListElement(v19, v28, v11) # RA: (R0, R1, R2)
ParallelMove split(param[2] -> R2)
ParallelMove input(IntConstant(5) -> vloc:R1)
SetListElement(v19, v30, v3) # RA: (R0, R1, R2)
v32 = DirectCall _StringBase._interpolate(v19) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v32) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(NullConstant(null) -> R0)
Return(v15) # RA: (R0)
--- main
B0 = EntryBlock()
v1 = Constant(null)
ParallelMove input(NullConstant(null) -> R0)
Return(v1) # RA: (R0)