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

Issue 736043002: Do not bailout from optimizing functions that use f(x, arguments) (Closed)

Created:
6 years, 1 month ago by ulan
Modified:
6 years, 1 month ago
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Project:
v8
Visibility:
Public.

Description

Do not bailout from optimizing functions that use f(x, arguments) if there is not enough type-feedback to detect that f is Function.prototype.apply. BUG=v8:3709 LOG=N TEST=mjsunit/regress/regress-3709 Committed: https://chromium.googlesource.com/v8/v8/+/64a9cd63a7d395d082fea00d43503a43a671ad9e

Patch Set 1 #

Total comments: 10

Patch Set 2 : Address comments #

Patch Set 3 : Remove Lookup #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+103 lines, -19 lines) Patch
M src/ast.h View 1 3 chunks +11 lines, -1 line 1 comment Download
M src/hydrogen.h View 1 2 4 chunks +6 lines, -2 lines 0 comments Download
M src/hydrogen.cc View 1 6 chunks +44 lines, -12 lines 0 comments Download
M src/type-info.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/type-info.cc View 1 1 chunk +8 lines, -0 lines 0 comments Download
M src/typing.cc View 1 1 chunk +5 lines, -4 lines 0 comments Download
A test/mjsunit/regress/regress-3709.js View 1 1 chunk +28 lines, -0 lines 0 comments Download

Messages

Total messages: 11 (3 generated)
ulan
PTAL
6 years, 1 month ago (2014-11-19 16:32:37 UTC) #2
Jakob Kummerow
https://codereview.chromium.org/736043002/diff/1/src/hydrogen.cc File src/hydrogen.cc (right): https://codereview.chromium.org/736043002/diff/1/src/hydrogen.cc#newcode9282 src/hydrogen.cc:9282: if (CanBeFunctionApplyArguments(expr, false)) { I'm not too happy with ...
6 years, 1 month ago (2014-11-19 20:46:16 UTC) #3
Jakob Kummerow
https://codereview.chromium.org/736043002/diff/1/src/hydrogen.cc File src/hydrogen.cc (right): https://codereview.chromium.org/736043002/diff/1/src/hydrogen.cc#newcode9282 src/hydrogen.cc:9282: if (CanBeFunctionApplyArguments(expr, false)) { > I don't see a ...
6 years, 1 month ago (2014-11-20 09:59:15 UTC) #4
ulan
Thanks for the comments! I uploaded new patch set. https://codereview.chromium.org/736043002/diff/1/src/hydrogen.cc File src/hydrogen.cc (right): https://codereview.chromium.org/736043002/diff/1/src/hydrogen.cc#newcode9282 src/hydrogen.cc:9282: ...
6 years, 1 month ago (2014-11-20 15:23:30 UTC) #5
Jakob Kummerow
LGTM. I'm a bit sad that we have to increase Call nodes' sizes, but since ...
6 years, 1 month ago (2014-11-20 15:57:10 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/736043002/40001
6 years, 1 month ago (2014-11-20 16:05:15 UTC) #8
commit-bot: I haz the power
Committed patchset #3 (id:40001)
6 years, 1 month ago (2014-11-20 17:07:49 UTC) #9
Sven Panne
6 years, 1 month ago (2014-11-21 07:34:27 UTC) #11
Message was sent while issue was closed.
Coming a bit late to the party, but anyway... :-)

https://codereview.chromium.org/736043002/diff/40001/src/ast.h
File src/ast.h (right):

https://codereview.chromium.org/736043002/diff/40001/src/ast.h#newcode1930
src/ast.h:1930: class IsUninitializedField : public BitField8<bool, 0, 1> {};
This is not so good for 2 reasons: Even on 32bit, we have 2 bytes internal
padding "for free" at the beginning of this class, so small new stuff should go
there. Furthermore, using BitField complicates things, a plain old bool would be
more efficient and we have the room anyway.

Powered by Google App Engine
This is Rietveld 408576698