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

Issue 5753005: Make closures optimizable by Crankshaft compiler. (Closed)

Created:
10 years ago by antonm
Modified:
9 years, 4 months ago
CC:
v8-dev
Visibility:
Public.

Description

Make closures optimizable by Crankshaft compiler. Currently only closures which only read from the context are supported. Committed: http://code.google.com/p/v8/source/detail?r=6340

Patch Set 1 #

Total comments: 15

Patch Set 2 : Addressing Florian's comments #

Patch Set 3 : Next round #

Patch Set 4 : Minor fix in hash function #

Total comments: 4

Patch Set 5 : Addressing next round of Florian's comments #

Total comments: 29

Patch Set 6 : Addressing Kevin's comments #

Patch Set 7 : Better assertion #

Patch Set 8 : Rebasing to ToT #

Total comments: 3

Patch Set 9 : Next round #

Patch Set 10 : Next round #

Patch Set 11 : Next round #

Unified diffs Side-by-side diffs Delta from patch set Stats (+390 lines, -95 lines) Patch
M src/ast.h View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M src/ast.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -6 lines 0 comments Download
M src/compiler.h View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -4 lines 0 comments Download
M src/compiler.cc View 1 2 3 4 5 6 7 8 1 chunk +19 lines, -0 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 6 7 8 4 chunks +19 lines, -2 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 5 6 7 8 3 chunks +35 lines, -0 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 7 8 4 chunks +14 lines, -6 lines 0 comments Download
M src/ia32/lithium-ia32.h View 1 2 3 4 5 6 7 8 3 chunks +16 lines, -0 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 2 3 4 5 6 7 8 2 chunks +10 lines, -0 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -7 lines 0 comments Download
M src/rewriter.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/runtime.cc View 1 2 3 4 5 6 7 8 2 chunks +13 lines, -0 lines 0 comments Download
M src/runtime-profiler.cc View 1 2 3 4 5 1 chunk +4 lines, -2 lines 0 comments Download
M src/scopes.h View 1 2 3 chunks +39 lines, -0 lines 0 comments Download
M src/scopes.cc View 1 2 3 4 5 6 17 chunks +97 lines, -61 lines 0 comments Download
M src/variables.h View 1 2 3 4 5 4 chunks +5 lines, -2 lines 0 comments Download
M src/variables.cc View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M test/cctest/cctest.status View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
A test/mjsunit/closures.js View 1 2 3 4 5 1 chunk +45 lines, -0 lines 0 comments Download
A test/mjsunit/compiler/regress-closures-with-eval.js View 1 chunk +51 lines, -0 lines 0 comments Download
M test/mjsunit/regress/regress-create-exception.js View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 11 (0 generated)
antonm
Florian, Kasper and Kevin, may you have a look?
10 years ago (2010-12-13 14:02:59 UTC) #1
fschneider
Here are my comments. Since I'm not so familiar with the scopes-code, Kevin should have ...
10 years ago (2010-12-13 19:00:18 UTC) #2
antonm
Florian, thanks a lot for your comments. http://codereview.chromium.org/5753005/diff/1/src/compiler.cc File src/compiler.cc (right): http://codereview.chromium.org/5753005/diff/1/src/compiler.cc#newcode168 src/compiler.cc:168: if (!info->AllowOptimize()) ...
10 years ago (2010-12-13 22:41:04 UTC) #3
antonm
http://codereview.chromium.org/5753005/diff/1/src/compiler.cc File src/compiler.cc (right): http://codereview.chromium.org/5753005/diff/1/src/compiler.cc#newcode168 src/compiler.cc:168: if (!info->AllowOptimize()) info->DisableOptimization(); BTW, if I understand meaning of ...
10 years ago (2010-12-13 22:52:47 UTC) #4
fschneider
LGTM from my side. Kevin, do you have any more comments? http://codereview.chromium.org/5753005/diff/17001/src/hydrogen-instructions.h File src/hydrogen-instructions.h (right): ...
10 years ago (2010-12-17 13:36:22 UTC) #5
antonm
Thanks a lot, Florian http://codereview.chromium.org/5753005/diff/17001/src/hydrogen-instructions.h File src/hydrogen-instructions.h (right): http://codereview.chromium.org/5753005/diff/17001/src/hydrogen-instructions.h#newcode2528 src/hydrogen-instructions.h:2528: SetFlag(kDependsOnCalls); On 2010/12/17 13:36:22, fschneider ...
10 years ago (2010-12-17 14:52:23 UTC) #6
Kevin Millikin (Chromium)
A few small comments. I think when you look up a variable in an outer ...
10 years ago (2010-12-20 12:05:44 UTC) #7
antonm
Thanks a lot for comments, Kevin. As discussed on IM, I'm postponing hoisting of serialized ...
10 years ago (2010-12-20 20:39:24 UTC) #8
Kevin Millikin (Chromium)
I have a couple of small comments about where it's used in the compiler. Other ...
9 years, 11 months ago (2011-01-14 12:48:59 UTC) #9
antonm
Kevin, thanks a lot for another round. I've attempted to rework checks following your suggestions. ...
9 years, 11 months ago (2011-01-14 15:03:47 UTC) #10
Kevin Millikin (Chromium)
9 years, 11 months ago (2011-01-14 15:15:05 UTC) #11
Yes, LGTM.

Powered by Google App Engine
This is Rietveld 408576698