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

Issue 2553523002: [builtins] Don't enforce I+TF for ArraySort helpers. (Closed)

Created:
4 years ago by Benedikt Meurer
Modified:
4 years ago
Reviewers:
Jarin, adamk, Yang
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[builtins] Don't enforce I+TF for ArraySort helpers. The current Array.prototype.sort implementation is pretty sensitive to compiler changes, i.e. switching to I+TF completely, so refactor it a bit so that it can stay with FCG+CS for now. Middle-term the Array builtins need to be refactored to TurboFan builtins anyways. BUG=chromium:670691, v8:5666 R=jarin@chromium.org Committed: https://crrev.com/704d737dc7be808f6017508c8ac7b5c2a21e0ad5 Cr-Commit-Position: refs/heads/master@{#41471}

Patch Set 1 #

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

Messages

Total messages: 15 (7 generated)
Benedikt Meurer
4 years ago (2016-12-05 05:59:04 UTC) #1
Benedikt Meurer
Hey Yang, Simple mitigation for the I+TF fallout. Please take a look. Thanks, Benedikt
4 years ago (2016-12-05 05:59:58 UTC) #4
Yang
On 2016/12/05 05:59:58, Benedikt Meurer wrote: > Hey Yang, > > Simple mitigation for the ...
4 years ago (2016-12-05 06:04:04 UTC) #5
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/2553523002/1
4 years ago (2016-12-05 06:08:17 UTC) #8
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years ago (2016-12-05 06:35:53 UTC) #10
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/704d737dc7be808f6017508c8ac7b5c2a21e0ad5 Cr-Commit-Position: refs/heads/master@{#41471}
4 years ago (2016-12-05 06:36:23 UTC) #12
adamk
I'm surprised that inner functions, declared at the top level of a function, are enough ...
4 years ago (2016-12-05 20:33:45 UTC) #14
adamk
4 years ago (2016-12-05 20:44:54 UTC) #15
Message was sent while issue was closed.
On 2016/12/05 20:33:45, adamk wrote:
> I'm surprised that inner functions, declared at the top level of a function,
are
> enough to trigger the I + TF path. Such functions shouldn't be treated
> lexically, and particularly should never be observably hole-initialized.
> 
> If that's what's happening, it sounds like there's a bug somewhere else we
> should fix instead of changing the way array.js is written.

Looks like it's actually the function names in named function expressions that
are the problem? Those are "lexical", but not in an interesting way. Again, they
are never filled with holes in an observable way. It seems like we should be
able to narrow the bailout in ast-numbering.cc using var->binding_needs_init().

Powered by Google App Engine
This is Rietveld 408576698