Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(202)

Unified Diff: tests/compiler/dart2js/backend_dart/opt_constprop_test.dart

Issue 833353002: Make scoping more prominent in the CPS IR's printed representation. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/compiler/dart2js/backend_dart/opt_constprop_test.dart
diff --git a/tests/compiler/dart2js/backend_dart/opt_constprop_test.dart b/tests/compiler/dart2js/backend_dart/opt_constprop_test.dart
index 3f67ca574b4aad15f6d969b0d520ced7eb51ed1a..d80a589aecf4578f7e1fbeac65a95bccdb1b1fe3 100644
--- a/tests/compiler/dart2js/backend_dart/opt_constprop_test.dart
+++ b/tests/compiler/dart2js/backend_dart/opt_constprop_test.dart
@@ -29,30 +29,32 @@ import 'package:compiler/src/dart2jslib.dart' as dart2js;
String CP1_IN = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetPrim v1 (Constant (Int 1)))
- (LetCont (k0 v2)
- (LetCont (k1) (LetPrim v3 (Constant (Int 2)))
- (InvokeContinuation return v3))
- (LetCont (k2) (LetPrim v4 (Constant (Int 3)))
- (InvokeContinuation return v4))
- (Branch (IsTrue v2) k1 k2))
- (InvokeMethod v0 == v1 k0))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetPrim (v1 (Constant (Int 1)))
+ (LetCont (k0 (v2)
+ (LetCont (k1 ()
+ (LetPrim (v3 (Constant (Int 2)))
+ (InvokeContinuation return (v3))))
+ (LetCont (k2 ()
+ (LetPrim (v4 (Constant (Int 3)))
+ (InvokeContinuation return (v4))))
+ (Branch (IsTrue v2) k1 k2))))
+ (InvokeMethod v0 == (v1) k0)))))
""";
String CP1_OUT = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetPrim v1 (Constant (Int 1)))
- (LetCont (k0 v2)
- (LetCont (k1)
- (LetPrim v3 (Constant (Int 2)))
- (InvokeContinuation return v3))
- (LetCont (k2)
- (LetPrim v4 (Constant (Int 3)))
- (InvokeContinuation return v4))
- (InvokeContinuation k1 ))
- (LetPrim v5 (Constant (Bool true)))
- (InvokeContinuation k0 v5))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetPrim (v1 (Constant (Int 1)))
+ (LetCont (k0 (v2)
+ (LetCont (k1 ()
+ (LetPrim (v3 (Constant (Int 2)))
+ (InvokeContinuation return (v3))))
+ (LetCont (k2 ()
+ (LetPrim (v4 (Constant (Int 3)))
+ (InvokeContinuation return (v4))))
+ (InvokeContinuation k1 ()))))
+ (LetPrim (v5 (Constant (Bool true)))
+ (InvokeContinuation k0 (v5)))))))
""";
// CP2 represents the following incoming dart code:
@@ -72,88 +74,110 @@ String CP1_OUT = """
String CP2_IN = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetCont* (k0)
- (LetCont (k1) (LetPrim v1 (Constant (Int 42)))
- (InvokeContinuation return v1))
- (LetCont (k2) (LetPrim v2 (Constant (Bool false)))
- (LetCont (k3 v3)
- (LetCont (k4) (InvokeContinuation return v0))
- (LetCont (k5) (LetPrim v4 (Constant (Bool true)))
- (LetCont (k6 v5)
- (LetCont (k7) (InvokeContinuation return v0))
- (LetCont (k8) (InvokeContinuation* k0))
- (Branch (IsTrue v5) k7 k8))
- (LetCont (k9) (LetPrim v6 (Constant (Int 1)))
- (LetCont (k10 v7)
- (LetCont (k11) (LetPrim v8 (Constant (Bool true)))
- (InvokeContinuation k6 v8))
- (LetCont (k12) (LetPrim v9 (Constant (Bool false)))
- (InvokeContinuation k6 v9))
- (Branch (IsTrue v7) k11 k12))
- (InvokeMethod v0 == v6 k10))
- (LetCont (k13) (LetPrim v10 (Constant (Bool false)))
- (InvokeContinuation k6 v10))
- (Branch (IsTrue v4) k9 k13))
- (Branch (IsTrue v3) k4 k5))
- (LetCont (k14) (LetPrim v11 (Constant (Bool true)))
- (InvokeContinuation k3 v11))
- (LetCont (k15) (LetPrim v12 (Constant (Bool false)))
- (LetCont (k16) (LetPrim v13 (Constant (Bool true)))
- (InvokeContinuation k3 v13))
- (LetCont (k17) (LetPrim v14 (Constant (Bool false)))
- (InvokeContinuation k3 v14))
- (Branch (IsTrue v12) k16 k17))
- (Branch (IsTrue v2) k14 k15))
- (LetPrim v15 (Constant (Bool true)))
- (Branch (IsTrue v15) k2 k1))
- (InvokeContinuation k0))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetCont* (k0 ()
+ (LetCont (k1 ()
+ (LetPrim (v1 (Constant (Int 42)))
+ (InvokeContinuation return (v1))))
+ (LetCont (k2 ()
+ (LetPrim (v2 (Constant (Bool false)))
+ (LetCont (k3 (v3)
+ (LetCont (k4 ()
+ (InvokeContinuation return (v0)))
+ (LetCont (k5 ()
+ (LetPrim (v4 (Constant (Bool true)))
+ (LetCont (k6 (v5)
+ (LetCont (k7 ()
+ (InvokeContinuation return (v0)))
+ (LetCont (k8 ()
+ (InvokeContinuation* k0 ()))
+ (Branch (IsTrue v5) k7 k8))))
+ (LetCont (k9 ()
+ (LetPrim (v6 (Constant (Int 1)))
+ (LetCont (k10 (v7)
+ (LetCont (k11 ()
+ (LetPrim (v8 (Constant (Bool true)))
+ (InvokeContinuation k6 (v8))))
+ (LetCont (k12 ()
+ (LetPrim (v9 (Constant (Bool false)))
+ (InvokeContinuation k6 (v9))))
+ (Branch (IsTrue v7) k11 k12))))
+ (InvokeMethod v0 == (v6) k10))))
+ (LetCont (k13 ()
+ (LetPrim (v10 (Constant (Bool false)))
+ (InvokeContinuation k6 (v10))))
+ (Branch (IsTrue v4) k9 k13))))))
+ (Branch (IsTrue v3) k4 k5))))
+ (LetCont (k14 ()
+ (LetPrim (v11 (Constant (Bool true)))
+ (InvokeContinuation k3 (v11))))
+ (LetCont (k15 ()
+ (LetPrim (v12 (Constant (Bool false)))
+ (LetCont (k16 ()
+ (LetPrim (v13 (Constant (Bool true)))
+ (InvokeContinuation k3 (v13))))
+ (LetCont (k17 ()
+ (LetPrim (v14 (Constant (Bool false)))
+ (InvokeContinuation k3 (v14))))
+ (Branch (IsTrue v12) k16 k17)))))
+ (Branch (IsTrue v2) k14 k15))))))
+ (LetPrim (v15 (Constant (Bool true)))
+ (Branch (IsTrue v15) k2 k1)))))
+ (InvokeContinuation k0 ()))))
""";
String CP2_OUT = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetCont* (k0)
- (LetCont (k1) (LetPrim v1 (Constant (Int 42)))
- (InvokeContinuation return v1))
- (LetCont (k2)
- (LetPrim v2 (Constant (Bool false)))
- (LetCont (k3 v3)
- (LetCont (k4) (InvokeContinuation return v0))
- (LetCont (k5)
- (LetPrim v4 (Constant (Bool true)))
- (LetCont (k6 v5)
- (LetCont (k7) (InvokeContinuation return v0))
- (LetCont (k8) (InvokeContinuation* k0 ))
- (InvokeContinuation k7 ))
- (LetCont (k9)
- (LetPrim v6 (Constant (Int 1)))
- (LetCont (k10 v7)
- (LetCont (k11)
- (LetPrim v8 (Constant (Bool true)))
- (InvokeContinuation k6 v8))
- (LetCont (k12) (LetPrim v9 (Constant (Bool false)))
- (InvokeContinuation k6 v9))
- (InvokeContinuation k11 ))
- (LetPrim v10 (Constant (Bool true)))
- (InvokeContinuation k10 v10))
- (LetCont (k13) (LetPrim v11 (Constant (Bool false)))
- (InvokeContinuation k6 v11))
- (InvokeContinuation k9 ))
- (InvokeContinuation k5 ))
- (LetCont (k14) (LetPrim v12 (Constant (Bool true)))
- (InvokeContinuation k3 v12))
- (LetCont (k15)
- (LetPrim v13 (Constant (Bool false)))
- (LetCont (k16) (LetPrim v14 (Constant (Bool true)))
- (InvokeContinuation k3 v14))
- (LetCont (k17)
- (LetPrim v15 (Constant (Bool false)))
- (InvokeContinuation k3 v15))
- (InvokeContinuation k17 ))
- (InvokeContinuation k15 ))
- (LetPrim v16 (Constant (Bool true)))
- (InvokeContinuation k2 ))
- (InvokeContinuation k0 ))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetCont* (k0 ()
+ (LetCont (k1 ()
+ (LetPrim (v1 (Constant (Int 42)))
+ (InvokeContinuation return (v1))))
+ (LetCont (k2 ()
+ (LetPrim (v2 (Constant (Bool false)))
+ (LetCont (k3 (v3)
+ (LetCont (k4 ()
+ (InvokeContinuation return (v0)))
+ (LetCont (k5 ()
+ (LetPrim (v4 (Constant (Bool true)))
+ (LetCont (k6 (v5)
+ (LetCont (k7 ()
+ (InvokeContinuation return (v0)))
+ (LetCont (k8 ()
+ (InvokeContinuation* k0 ()))
+ (InvokeContinuation k7 ()))))
+ (LetCont (k9 ()
+ (LetPrim (v6 (Constant (Int 1)))
+ (LetCont (k10 (v7)
+ (LetCont (k11 ()
+ (LetPrim (v8 (Constant (Bool true)))
+ (InvokeContinuation k6 (v8))))
+ (LetCont (k12 ()
+ (LetPrim (v9 (Constant (Bool false)))
+ (InvokeContinuation k6 (v9))))
+ (InvokeContinuation k11 ()))))
+ (LetPrim (v10 (Constant (Bool true)))
+ (InvokeContinuation k10 (v10))))))
+ (LetCont (k13 ()
+ (LetPrim (v11 (Constant (Bool false)))
+ (InvokeContinuation k6 (v11))))
+ (InvokeContinuation k9 ()))))))
+ (InvokeContinuation k5 ()))))
+ (LetCont (k14 ()
+ (LetPrim (v12 (Constant (Bool true)))
+ (InvokeContinuation k3 (v12))))
+ (LetCont (k15 ()
+ (LetPrim (v13 (Constant (Bool false)))
+ (LetCont (k16 ()
+ (LetPrim (v14 (Constant (Bool true)))
+ (InvokeContinuation k3 (v14))))
+ (LetCont (k17 ()
+ (LetPrim (v15 (Constant (Bool false)))
+ (InvokeContinuation k3 (v15))))
+ (InvokeContinuation k17 ())))))
+ (InvokeContinuation k15 ()))))))
+ (LetPrim (v16 (Constant (Bool true)))
+ (InvokeContinuation k2 ())))))
+ (InvokeContinuation k0 ()))))
""";
// CP3 represents the following incoming dart code:
@@ -169,15 +193,18 @@ String CP2_OUT = """
String CP3_IN = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetCont (k0 v1) (LetPrim v2 (Constant (Int 1)))
- (LetCont (k1 v3)
- (LetCont (k2) (LetPrim v4 (Constant (Int 42)))
- (InvokeContinuation return v4))
- (LetCont (k3) (InvokeContinuation return v1))
- (Branch (IsTrue v3) k2 k3))
- (InvokeMethod v1 == v2 k1))
- (InvokeStatic f k0))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetCont (k0 (v1)
+ (LetPrim (v2 (Constant (Int 1)))
+ (LetCont (k1 (v3)
+ (LetCont (k2 ()
+ (LetPrim (v4 (Constant (Int 42)))
+ (InvokeContinuation return (v4))))
+ (LetCont (k3 ()
+ (InvokeContinuation return (v1)))
+ (Branch (IsTrue v3) k2 k3))))
+ (InvokeMethod v1 == (v2) k1))))
+ (InvokeStatic f () k0))))
""";
String CP3_OUT = CP3_IN;
@@ -185,31 +212,31 @@ String CP3_OUT = CP3_IN;
String CP4_IN = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetPrim v1 (Constant (Int 2)))
- (LetCont (k0 v2)
- (InvokeContinuation return v2))
- (InvokeMethod v0 + v1 k0))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetPrim (v1 (Constant (Int 2)))
+ (LetCont (k0 (v2)
+ (InvokeContinuation return (v2)))
+ (InvokeMethod v0 + (v1) k0)))))
""";
String CP4_OUT = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetPrim v1 (Constant (Int 2)))
- (LetCont (k0 v2)
- (InvokeContinuation return v2))
- (LetPrim v3 (Constant (Int 3)))
- (InvokeContinuation k0 v3))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetPrim (v1 (Constant (Int 2)))
+ (LetCont (k0 (v2)
+ (InvokeContinuation return (v2)))
+ (LetPrim (v3 (Constant (Int 3)))
+ (InvokeContinuation k0 (v3)))))))
""";
// Array access operator (no optimization).
String CP5_IN = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetPrim v1 (Constant (Int 2)))
- (LetCont (k0 v2)
- (InvokeContinuation return v2))
- (InvokeMethod v0 [] v1 k0))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetPrim (v1 (Constant (Int 2)))
+ (LetCont (k0 (v2)
+ (InvokeContinuation return (v2)))
+ (InvokeMethod v0 [] (v1) k0)))))
""";
String CP5_OUT = CP5_IN;
@@ -217,50 +244,50 @@ String CP5_OUT = CP5_IN;
String CP6_IN = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetPrim v1 (Constant (Int 0)))
- (LetCont (k0 v2)
- (InvokeContinuation return v2))
- (InvokeMethod v0 / v1 k0))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetPrim (v1 (Constant (Int 0)))
+ (LetCont (k0 (v2)
+ (InvokeContinuation return (v2)))
+ (InvokeMethod v0 / (v1) k0)))))
""";
String CP6_OUT = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetPrim v1 (Constant (Int 0)))
- (LetCont (k0 v2)
- (InvokeContinuation return v2))
- (LetPrim v3 (Constant (Double Infinity)))
- (InvokeContinuation k0 v3))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetPrim (v1 (Constant (Int 0)))
+ (LetCont (k0 (v2)
+ (InvokeContinuation return (v2)))
+ (LetPrim (v3 (Constant (Double Infinity)))
+ (InvokeContinuation k0 (v3)))))))
""";
// Concatenate strings.
String CP7_IN = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (String "b")))
- (LetPrim v1 (Constant (String "d")))
- (LetPrim v2 (Constant (String "a")))
- (LetPrim v3 (Constant (String "c")))
- (LetPrim v4 (Constant (String "")))
- (LetCont (k0 v5)
- (LetCont (k1 v6)
- (InvokeContinuation return v6))
- (InvokeMethod v5 length k1))
- (ConcatenateStrings v2 v0 v3 v1 v4 k0))
+ (LetPrim (v0 (Constant (String "b")))
+ (LetPrim (v1 (Constant (String "d")))
+ (LetPrim (v2 (Constant (String "a")))
+ (LetPrim (v3 (Constant (String "c")))
+ (LetPrim (v4 (Constant (String "")))
+ (LetCont (k0 (v5)
+ (LetCont (k1 (v6)
+ (InvokeContinuation return (v6)))
+ (InvokeMethod v5 length () k1)))
+ (ConcatenateStrings (v2 v0 v3 v1 v4) k0))))))))
""";
String CP7_OUT = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (String "b")))
- (LetPrim v1 (Constant (String "d")))
- (LetPrim v2 (Constant (String "a")))
- (LetPrim v3 (Constant (String "c")))
- (LetPrim v4 (Constant (String "")))
- (LetCont (k0 v5)
- (LetCont (k1 v6)
- (InvokeContinuation return v6))
- (InvokeMethod v5 length k1))
- (LetPrim v7 (Constant (String "abcd")))
- (InvokeContinuation k0 v7))
+ (LetPrim (v0 (Constant (String "b")))
+ (LetPrim (v1 (Constant (String "d")))
+ (LetPrim (v2 (Constant (String "a")))
+ (LetPrim (v3 (Constant (String "c")))
+ (LetPrim (v4 (Constant (String "")))
+ (LetCont (k0 (v5)
+ (LetCont (k1 (v6)
+ (InvokeContinuation return (v6)))
+ (InvokeMethod v5 length () k1)))
+ (LetPrim (v7 (Constant (String "abcd")))
+ (InvokeContinuation k0 (v7))))))))))
""";
// TODO(jgruber): We can't test is-check optimization because the unstringifier
@@ -270,93 +297,95 @@ String CP7_OUT = """
String CP8_IN = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetPrim v1 (Constant (Int 1)))
- (LetCont (k0 v2)
- (LetCont (k1)
- (LetPrim v3 (Constant (Int 42)))
- (InvokeContinuation return v3))
- (LetCont (k2)
- (InvokeContinuation return v0))
- (Branch (IsTrue v2) k1 k2))
- (InvokeMethod v0 == v1 k0))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetPrim (v1 (Constant (Int 1)))
+ (LetCont (k0 (v2)
+ (LetCont (k1 ()
+ (LetPrim (v3 (Constant (Int 42)))
+ (InvokeContinuation return (v3))))
+ (LetCont (k2 ()
+ (InvokeContinuation return (v0)))
+ (Branch (IsTrue v2) k1 k2))))
+ (InvokeMethod v0 == (v1) k0)))))
""";
String CP8_OUT = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetPrim v1 (Constant (Int 1)))
- (LetCont (k0 v2)
- (LetCont (k1) (LetPrim v3 (Constant (Int 42)))
- (InvokeContinuation return v3))
- (LetCont (k2) (InvokeContinuation return v0))
- (InvokeContinuation k1 ))
- (LetPrim v4 (Constant (Bool true)))
- (InvokeContinuation k0 v4))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetPrim (v1 (Constant (Int 1)))
+ (LetCont (k0 (v2)
+ (LetCont (k1 ()
+ (LetPrim (v3 (Constant (Int 42)))
+ (InvokeContinuation return (v3))))
+ (LetCont (k2 ()
+ (InvokeContinuation return (v0)))
+ (InvokeContinuation k1 ()))))
+ (LetPrim (v4 (Constant (Bool true)))
+ (InvokeContinuation k0 (v4)))))))
""";
// While loop.
String CP9_IN = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetCont* (k0 v1)
- (LetCont (k1)
- (InvokeContinuation return v1))
- (LetCont (k2)
- (LetPrim v2 (Constant (Int 1)))
- (LetCont (k3 v3)
- (LetCont (k4 v4)
- (LetCont (k5)
- (LetPrim v5 (Constant (Int 42)))
- (InvokeContinuation return v5))
- (LetCont (k6)
- (LetPrim v6 (Constant (Int 1)))
- (LetCont (k7 v7)
- (InvokeContinuation* k0 v7))
- (InvokeMethod v1 + v6 k7))
- (Branch (IsTrue v4) k5 k6))
- (LetCont (k8)
- (LetPrim v8 (Constant (Bool false)))
- (InvokeContinuation k4 v8))
- (LetCont (k9)
- (LetPrim v9 (Constant (Bool true)))
- (InvokeContinuation k4 v9))
- (Branch (IsTrue v3) k8 k9))
- (InvokeMethod v1 == v2 k3))
- (LetPrim v10 (Constant (Bool true)))
- (Branch (IsTrue v10) k2 k1))
- (InvokeContinuation k0 v0))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetCont* (k0 (v1)
+ (LetCont (k1 ()
+ (InvokeContinuation return (v1)))
+ (LetCont (k2 ()
+ (LetPrim (v2 (Constant (Int 1)))
+ (LetCont (k3 (v3)
+ (LetCont (k4 (v4)
+ (LetCont (k5 ()
+ (LetPrim (v5 (Constant (Int 42)))
+ (InvokeContinuation return (v5))))
+ (LetCont (k6 ()
+ (LetPrim (v6 (Constant (Int 1)))
+ (LetCont (k7 (v7)
+ (InvokeContinuation* k0 (v7)))
+ (InvokeMethod v1 + (v6) k7))))
+ (Branch (IsTrue v4) k5 k6))))
+ (LetCont (k8 ()
+ (LetPrim (v8 (Constant (Bool false)))
+ (InvokeContinuation k4 (v8))))
+ (LetCont (k9 ()
+ (LetPrim (v9 (Constant (Bool true)))
+ (InvokeContinuation k4 (v9))))
+ (Branch (IsTrue v3) k8 k9)))))
+ (InvokeMethod v1 == (v2) k3))))
+ (LetPrim (v10 (Constant (Bool true)))
+ (Branch (IsTrue v10) k2 k1)))))
+ (InvokeContinuation k0 (v0)))))
""";
String CP9_OUT = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 1)))
- (LetCont* (k0 v1)
- (LetCont (k1)
- (InvokeContinuation return v1))
- (LetCont (k2)
- (LetPrim v2 (Constant (Int 1)))
- (LetCont (k3 v3)
- (LetCont (k4 v4)
- (LetCont (k5)
- (LetPrim v5 (Constant (Int 42)))
- (InvokeContinuation return v5))
- (LetCont (k6)
- (LetPrim v6 (Constant (Int 1)))
- (LetCont (k7 v7)
- (InvokeContinuation* k0 v7))
- (InvokeMethod v1 + v6 k7))
- (Branch (IsTrue v4) k5 k6))
- (LetCont (k8)
- (LetPrim v8 (Constant (Bool false)))
- (InvokeContinuation k4 v8))
- (LetCont (k9)
- (LetPrim v9 (Constant (Bool true)))
- (InvokeContinuation k4 v9))
- (Branch (IsTrue v3) k8 k9))
- (InvokeMethod v1 == v2 k3))
- (LetPrim v10 (Constant (Bool true)))
- (InvokeContinuation k2 ))
- (InvokeContinuation k0 v0))
+ (LetPrim (v0 (Constant (Int 1)))
+ (LetCont* (k0 (v1)
+ (LetCont (k1 ()
+ (InvokeContinuation return (v1)))
+ (LetCont (k2 ()
+ (LetPrim (v2 (Constant (Int 1)))
+ (LetCont (k3 (v3)
+ (LetCont (k4 (v4)
+ (LetCont (k5 ()
+ (LetPrim (v5 (Constant (Int 42)))
+ (InvokeContinuation return (v5))))
+ (LetCont (k6 ()
+ (LetPrim (v6 (Constant (Int 1)))
+ (LetCont (k7 (v7)
+ (InvokeContinuation* k0 (v7)))
+ (InvokeMethod v1 + (v6) k7))))
+ (Branch (IsTrue v4) k5 k6))))
+ (LetCont (k8 ()
+ (LetPrim (v8 (Constant (Bool false)))
+ (InvokeContinuation k4 (v8))))
+ (LetCont (k9 ()
+ (LetPrim (v9 (Constant (Bool true)))
+ (InvokeContinuation k4 (v9))))
+ (Branch (IsTrue v3) k8 k9)))))
+ (InvokeMethod v1 == (v2) k3))))
+ (LetPrim (v10 (Constant (Bool true)))
+ (InvokeContinuation k2 ())))))
+ (InvokeContinuation k0 (v0)))))
""";
// While loop, from:
@@ -369,26 +398,26 @@ String CP9_OUT = """
String CP10_IN = """
(FunctionDefinition main () return ()
- (LetPrim v0 (Constant (Int 0)))
- (LetCont* (k0 v1)
- (LetCont (k1)
- (LetPrim v2 (Constant (Null)))
- (InvokeContinuation return v2))
- (LetCont (k2)
- (LetPrim v3 (Constant (Int 42)))
- (LetCont (k3 v4)
- (LetCont (k4 v5)
- (LetPrim v6 (Constant (Int 1)))
- (LetCont (k5 v7)
- (InvokeContinuation* k0 v7))
- (InvokeMethod v1 + v6 k5))
- (InvokeStatic print v4 k4))
- (InvokeMethod v3 + v1 k3))
- (LetPrim v8 (Constant (Int 2)))
- (LetCont (k6 v9)
- (Branch (IsTrue v9) k2 k1))
- (InvokeMethod v1 < v8 k6))
- (InvokeContinuation k0 v0))
+ (LetPrim (v0 (Constant (Int 0)))
+ (LetCont* (k0 (v1)
+ (LetCont (k1 ()
+ (LetPrim (v2 (Constant (Null)))
+ (InvokeContinuation return (v2))))
+ (LetCont (k2 ()
+ (LetPrim (v3 (Constant (Int 42)))
+ (LetCont (k3 (v4)
+ (LetCont (k4 (v5)
+ (LetPrim (v6 (Constant (Int 1)))
+ (LetCont (k5 (v7)
+ (InvokeContinuation* k0 (v7)))
+ (InvokeMethod v1 + (v6) k5))))
+ (InvokeStatic print (v4) k4)))
+ (InvokeMethod v3 + (v1) k3))))
+ (LetPrim (v8 (Constant (Int 2)))
+ (LetCont (k6 (v9)
+ (Branch (IsTrue v9) k2 k1))
+ (InvokeMethod v1 < (v8) k6))))))
+ (InvokeContinuation k0 (v0)))))
""";
String CP10_OUT = CP10_IN;

Powered by Google App Engine
This is Rietveld 408576698