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

Issue 2437043002: [compiler] Mark shared functions for optimization (Closed)

Created:
4 years, 2 months ago by Leszek Swirski
Modified:
4 years, 1 month ago
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-x87-ports_googlegroups.com, v8-ppc-ports_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[compiler] Mark shared functions for optimization The current method of marking functions for optimization, which replaces the JSFunction's code object with one that triggers optimization, would never allow unnamed functions to be optimized. This is an issue for a style of programming which heavily relies on passing around closures. This patch sets a bit on the SharedFunctionInfo when a JSFunction is marked. When another JSFunction referring to the same SharedFunctionInfo is lazily compiled, it immediately triggers a non-concurrent optimize. BUG=v8:5512 Committed: https://crrev.com/4a31323e973e0a03403a53c601dfd4f0237532e8 Cr-Commit-Position: refs/heads/master@{#40506}

Patch Set 1 #

Patch Set 2 : Fix bad copy & paste #

Patch Set 3 : Use a boolean accessor for the bit #

Patch Set 4 : Reorder compiler hints to not break Smi field writes on x86 #

Patch Set 5 : Call runtime without stack where needed #

Patch Set 6 : Save the files you actually changed, dummy #

Total comments: 2

Patch Set 7 : Unmark after compiling #

Unified diffs Side-by-side diffs Delta from patch set Stats (+113 lines, -11 lines) Patch
M src/builtins/arm/builtins-arm.cc View 1 2 3 4 1 chunk +9 lines, -1 line 0 comments Download
M src/builtins/arm64/builtins-arm64.cc View 1 1 chunk +8 lines, -1 line 0 comments Download
M src/builtins/ia32/builtins-ia32.cc View 1 2 3 4 5 1 chunk +8 lines, -1 line 0 comments Download
M src/builtins/mips/builtins-mips.cc View 1 1 chunk +9 lines, -1 line 0 comments Download
M src/builtins/mips64/builtins-mips64.cc View 1 1 chunk +9 lines, -1 line 0 comments Download
M src/builtins/ppc/builtins-ppc.cc View 1 2 3 4 5 6 1 chunk +8 lines, -1 line 0 comments Download
M src/builtins/s390/builtins-s390.cc View 1 2 3 4 5 6 1 chunk +8 lines, -1 line 0 comments Download
M src/builtins/x64/builtins-x64.cc View 1 chunk +8 lines, -1 line 0 comments Download
M src/builtins/x87/builtins-x87.cc View 1 2 3 4 1 chunk +8 lines, -1 line 0 comments Download
M src/compiler.cc View 1 2 3 4 5 6 1 chunk +16 lines, -0 lines 0 comments Download
M src/objects.h View 1 2 3 7 chunks +15 lines, -2 lines 0 comments Download
M src/objects.cc View 1 2 2 chunks +5 lines, -0 lines 0 comments Download
M src/objects-inl.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 37 (28 generated)
Leszek Swirski
mstarzinger@chromium.org: Please review changes in the various builtins. mvstanton@chromium.org: Please review changes in the runtime ...
4 years, 2 months ago (2016-10-20 16:50:40 UTC) #16
Leszek Swirski
Um, other way around, sorry.
4 years, 2 months ago (2016-10-21 09:35:08 UTC) #21
mvstanton
builtins change is LGTM, nice!
4 years, 2 months ago (2016-10-21 11:14:20 UTC) #24
Michael Starzinger
https://codereview.chromium.org/2437043002/diff/100001/src/compiler.cc File src/compiler.cc (right): https://codereview.chromium.org/2437043002/diff/100001/src/compiler.cc#newcode980 src/compiler.cc:980: if (function->shared()->was_marked_for_optimization()) { The flag never seems to be ...
4 years, 2 months ago (2016-10-21 11:37:58 UTC) #25
Leszek Swirski
https://codereview.chromium.org/2437043002/diff/100001/src/compiler.cc File src/compiler.cc (right): https://codereview.chromium.org/2437043002/diff/100001/src/compiler.cc#newcode980 src/compiler.cc:980: if (function->shared()->was_marked_for_optimization()) { On 2016/10/21 11:37:58, Michael Starzinger wrote: ...
4 years, 2 months ago (2016-10-21 11:44:13 UTC) #28
Michael Starzinger
LGTM. Thanks!
4 years, 2 months ago (2016-10-21 11:57:15 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2437043002/120001
4 years, 2 months ago (2016-10-21 12:35:41 UTC) #34
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 2 months ago (2016-10-21 13:12:51 UTC) #35
commit-bot: I haz the power
4 years, 1 month ago (2016-11-17 22:09:55 UTC) #37
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/4a31323e973e0a03403a53c601dfd4f0237532e8
Cr-Commit-Position: refs/heads/master@{#40506}

Powered by Google App Engine
This is Rietveld 408576698