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

Issue 2333213002: [turbofan] Avoid unnecessary JSConvertReceiver nodes. (Closed)

Created:
4 years, 3 months ago by Benedikt Meurer
Modified:
4 years, 3 months ago
Reviewers:
Michael Starzinger
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Avoid unnecessary JSConvertReceiver nodes. When inlining sloppy functions try to find some witness in the effect chain that the receiver is already a JSReceiver and thereby avoid inserting the JSConvertReceiver node, which we currently cannot really optimize away most of the time. Middle-term we may want to change the way CheckMaps works and have some unified mechanism to deal with effect chain walks to find witnesses for various map related facts. Also we may want to consider doing this optimization later, although that requires some more refactorings since we already promised that JSConvertReceiver gives a Type::Receiver. R=mstarzinger@chromium.org BUG=v8:5267 Committed: https://crrev.com/97b330ada5c58db66cf64b8124ef5349e269cded Cr-Commit-Position: refs/heads/master@{#39379}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Remove StoreField handling. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+59 lines, -7 lines) Patch
M src/compiler/js-inlining.cc View 1 2 chunks +59 lines, -7 lines 0 comments Download

Messages

Total messages: 16 (9 generated)
Benedikt Meurer
4 years, 3 months ago (2016-09-13 09:45:36 UTC) #1
Michael Starzinger
https://codereview.chromium.org/2333213002/diff/1/src/compiler/js-inlining.cc File src/compiler/js-inlining.cc (right): https://codereview.chromium.org/2333213002/diff/1/src/compiler/js-inlining.cc#newcode306 src/compiler/js-inlining.cc:306: access.offset == HeapObject::kMapOffset) { This case only checks whether ...
4 years, 3 months ago (2016-09-13 11:04:38 UTC) #8
Benedikt Meurer
https://codereview.chromium.org/2333213002/diff/1/src/compiler/js-inlining.cc File src/compiler/js-inlining.cc (right): https://codereview.chromium.org/2333213002/diff/1/src/compiler/js-inlining.cc#newcode306 src/compiler/js-inlining.cc:306: access.offset == HeapObject::kMapOffset) { On 2016/09/13 11:04:38, Michael Starzinger ...
4 years, 3 months ago (2016-09-13 11:05:04 UTC) #9
Michael Starzinger
LGTM (a little bit scared, but it's temporary, so yeah, we are fine I guess).
4 years, 3 months ago (2016-09-13 11:06:26 UTC) #10
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/2333213002/20001
4 years, 3 months ago (2016-09-13 11:06:44 UTC) #13
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 3 months ago (2016-09-13 11:45:01 UTC) #14
commit-bot: I haz the power
4 years, 3 months ago (2016-09-13 11:46:12 UTC) #16
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/97b330ada5c58db66cf64b8124ef5349e269cded
Cr-Commit-Position: refs/heads/master@{#39379}

Powered by Google App Engine
This is Rietveld 408576698