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

Issue 2930933002: [turbofan] JSCreateClosure doesn't have any JS observable side effects. (Closed)

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

Description

[turbofan] JSCreateClosure doesn't have any JS observable side effects. The JSCreateClosure operator was not marked as Eliminatable, esp. it wasn't marked as NoWrite (read: no JavaScript observable side-effect), which lead to a weird performance cliff with the new Array builtin inlining. For example a.forEach(c => c); was not inlined, whereas const f = c => c; a.forEach(f); was properly inlined, despite not causing any trouble for TurboFan in general. The reason was that the JSCreateClosure for the arrow function was marked as "can cause potential side effect", which it cannot. This fixes the operator to be properly marked as Eliminatable, thus removing this performance cliff. BUG=v8:1956, v8:6475 R=danno@chromium.org Review-Url: https://codereview.chromium.org/2930933002 Cr-Commit-Position: refs/heads/master@{#45801} Committed: https://chromium.googlesource.com/v8/v8/+/2a20ded9a163b2486a363c95c47b695cb453f273

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+7 lines, -7 lines) Patch
M src/compiler/js-generic-lowering.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/compiler/js-operator.cc View 1 chunk +5 lines, -5 lines 0 comments Download

Messages

Total messages: 13 (8 generated)
Benedikt Meurer
3 years, 6 months ago (2017-06-08 19:32:06 UTC) #1
Benedikt Meurer
Hey Danno, Here's a simple fix for a performance cliff with forEach inlining. Please take ...
3 years, 6 months ago (2017-06-08 19:32:46 UTC) #4
danno
lgtm
3 years, 6 months ago (2017-06-09 08:54:23 UTC) #8
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/2930933002/1
3 years, 6 months ago (2017-06-09 09:02:00 UTC) #10
commit-bot: I haz the power
3 years, 6 months ago (2017-06-09 09:03:41 UTC) #13
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://chromium.googlesource.com/v8/v8/+/2a20ded9a163b2486a363c95c47b695cb45...

Powered by Google App Engine
This is Rietveld 408576698