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

Issue 909223002: Start compiling to Fletch bytecodes. (Closed)

Created:
5 years, 10 months ago by ahe
Modified:
5 years, 10 months ago
Reviewers:
kasperl
CC:
fletch+reviews_googlegroups.com, Johnni Winther, gbracha
Base URL:
git@github.com:dart-lang/fletch.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Patch Set 1 #

Total comments: 20
Unified diffs Side-by-side diffs Delta from patch set Stats (+499 lines, -6 lines) Patch
A package/dart2js_incremental View 1 chunk +1 line, -0 lines 0 comments Download
M pkg/fletchc/lib/dart2js_bridge.dart View 1 chunk +335 lines, -6 lines 20 comments Download
M pkg/fletchc/lib/generate_bytecodes.dart View 2 chunks +19 lines, -0 lines 0 comments Download
M pkg/fletchc/lib/generated_bytecodes.dart View 72 chunks +144 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (1 generated)
ahe
How to run: .../dart/sdk/bin/dart -ppackage/ -c package:fletchc/dart2js_bridge.dart lib/simple_system/system.dart Which prints: lib/simple_system/system.dart:7:1: Hint: Compiling _entry _entry(int ...
5 years, 10 months ago (2015-02-10 19:05:10 UTC) #2
kasperl
LGTM! https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_bridge.dart File pkg/fletchc/lib/dart2js_bridge.dart (right): https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_bridge.dart#newcode5 pkg/fletchc/lib/dart2js_bridge.dart:5: import 'dart:io' show Maybe give this a library ...
5 years, 10 months ago (2015-02-10 19:56:57 UTC) #3
ahe
Thank you, Kasper! https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_bridge.dart File pkg/fletchc/lib/dart2js_bridge.dart (right): https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_bridge.dart#newcode231 pkg/fletchc/lib/dart2js_bridge.dart:231: node.visitChildren(this); On 2015/02/10 19:56:56, kasperl wrote: ...
5 years, 10 months ago (2015-02-10 21:38:08 UTC) #4
ahe
I'll address your comments in a follow-up CL.
5 years, 10 months ago (2015-02-11 10:32:00 UTC) #5
ahe
Committed patchset #1 (id:1) manually as d5d5888f71c30484847678bf35851966f85ff6a4 (presubmit successful).
5 years, 10 months ago (2015-02-11 10:32:20 UTC) #6
ahe
5 years, 10 months ago (2015-02-11 13:47:18 UTC) #7
Message was sent while issue was closed.
Thank you, Kasper!

I went a little overboard and addressed your comments in
https://codereview.chromium.org/918613002 as well as tried to make the compiler
easier to use based on Luke API design review yesterday.

https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_brid...
File pkg/fletchc/lib/dart2js_bridge.dart (right):

https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_brid...
pkg/fletchc/lib/dart2js_bridge.dart:5: import 'dart:io' show
On 2015/02/10 19:56:57, kasperl wrote:
> Maybe give this a library a name?

Done.

https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_brid...
pkg/fletchc/lib/dart2js_bridge.dart:48: myLocation =
On 2015/02/10 19:56:57, kasperl wrote:
> My usual preference is to add a few more local variables to "sequentialize"
the
> somewhat complicated expression (and avoid the long lines). I prefer stepping
> through that in a debugger and I prefer that I get names for the individual
> expressions.

Done.

https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_brid...
pkg/fletchc/lib/dart2js_bridge.dart:150: void
enqueueHelpers(dart2js.ResolutionEnqueuer world, dart2js.Registry registry) {
On 2015/02/10 19:56:57, kasperl wrote:
> Long line.

Done.

https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_brid...
pkg/fletchc/lib/dart2js_bridge.dart:183: class FletchVisitor extends
SemanticVisitor {
On 2015/02/10 19:56:56, kasperl wrote:
> FletchMethodVisitor perhaps?

I think I like "BytecodeBuilder".

https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_brid...
pkg/fletchc/lib/dart2js_bridge.dart:197: int id = constants.putIfAbsent(element,
() => constants.length);
On 2015/02/10 19:56:56, kasperl wrote:
> I'd consider adding a helper method for turning a constant into the
> corresponding index / id.

Done.

https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_brid...
pkg/fletchc/lib/dart2js_bridge.dart:215: print("literal ${node}");
On 2015/02/10 19:56:57, kasperl wrote:
> Maybe just remove this printing again?

Done.

https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_brid...
pkg/fletchc/lib/dart2js_bridge.dart:236: void visitParameterAssignment(SendSet
node, ParameterElement element, Node rhs);
On 2015/02/10 19:56:57, kasperl wrote:
> Long line.

Done.

https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_brid...
pkg/fletchc/lib/dart2js_bridge.dart:286: void
visitTopLevelFieldAssignment(SendSet node, FieldElement element, Node rhs);
On 2015/02/10 19:56:57, kasperl wrote:
> Long line.

Done.

https://codereview.chromium.org/909223002/diff/1/pkg/fletchc/lib/dart2js_brid...
pkg/fletchc/lib/dart2js_bridge.dart:327: void
visitTypeVariableTypeLiteralAccess(Send node, TypeVariableElement element);
On 2015/02/10 19:56:57, kasperl wrote:
> Long line.

Done.

Powered by Google App Engine
This is Rietveld 408576698