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

Issue 833353002: Make scoping more prominent in the CPS IR's printed representation. (Closed)

Created:
5 years, 11 months ago by Kevin Millikin (Google)
Modified:
5 years, 11 months ago
CC:
reviews_dartlang.org
Target Ref:
refs/remotes/git-svn
Visibility:
Public.

Description

Make scoping more prominent in the CPS IR's printed representation. Before: LetPrim and LetCont had "internal define" scoping, extending to the end of the body they were in. After: they have "let" scoping, with a body as a subexpression. This change makes it easier to see scoping in the printed representation. It also makes the printed representation more closely resemble the internal representation. Finally, it is an advantage if writing the IR by hand because expressions are balanced (Emacs, for example, can copy or cut a balances S-expression). Argument lists are changed to be always nested (enclosed by parentheses). The basic rule of thumb is that the syntactic forms of the IR should all have fixed arity (matching the internal representation), so that variable arity parts such as arguments are represented as a single list. BUG= R=asgerf@google.com, floitsch@google.com, sigurdm@google.com Committed: https://code.google.com/p/dart/source/detail?r=42630

Patch Set 1 #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+1153 lines, -1083 lines) Patch
M pkg/analyzer2dart/test/sexpr_data.dart View 82 chunks +570 lines, -570 lines 3 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart View 7 chunks +15 lines, -13 lines 1 comment Download
M tests/compiler/dart2js/backend_dart/opt_constprop_test.dart View 7 chunks +281 lines, -252 lines 0 comments Download
M tests/compiler/dart2js/backend_dart/opt_redundant_phi_test.dart View 5 chunks +147 lines, -121 lines 0 comments Download
M tests/compiler/dart2js/backend_dart/opt_shrinking_test.dart View 7 chunks +113 lines, -89 lines 0 comments Download
M tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart View 14 chunks +27 lines, -38 lines 0 comments Download

Messages

Total messages: 6 (1 generated)
Kevin Millikin (Google)
Improved (?) printed representation, comments welcome. https://codereview.chromium.org/833353002/diff/1/pkg/analyzer2dart/test/sexpr_data.dart File pkg/analyzer2dart/test/sexpr_data.dart (right): https://codereview.chromium.org/833353002/diff/1/pkg/analyzer2dart/test/sexpr_data.dart#newcode552 pkg/analyzer2dart/test/sexpr_data.dart:552: (InvokeMethod v0 == ...
5 years, 11 months ago (2015-01-06 08:01:53 UTC) #2
sigurdm
lgtm I think this representation is nicer, it much more clearly shows how the IR-expressions ...
5 years, 11 months ago (2015-01-06 08:19:00 UTC) #3
floitsch
LGTM.
5 years, 11 months ago (2015-01-06 09:59:08 UTC) #4
asgerf
I like it. LGTM https://codereview.chromium.org/833353002/diff/1/pkg/analyzer2dart/test/sexpr_data.dart File pkg/analyzer2dart/test/sexpr_data.dart (right): https://codereview.chromium.org/833353002/diff/1/pkg/analyzer2dart/test/sexpr_data.dart#newcode935 pkg/analyzer2dart/test/sexpr_data.dart:935: (InvokeContinuation return (v9))))))))))))) On 2015/01/06 ...
5 years, 11 months ago (2015-01-06 12:46:07 UTC) #5
Kevin Millikin (Google)
5 years, 11 months ago (2015-01-06 12:49:39 UTC) #6
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as 42630 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698