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

Issue 2554723004: [Interpreter] Transform StrictEquality with null/undefined to special bytecodes. (Closed)

Created:
4 years ago by mythria
Modified:
4 years ago
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Interpreter] Transform StrictEquality with null/undefined to special bytecodes. Transform LdaNull/LdaUndefined followed by StrictEquality to TestNull/TestUndefined. This would avoid a call to the compare IC. In the bytecode-graph builder these are mapped to StrictEqual javascript operator. When reducing this operator, we already optimize the cases for null/undefined. BUG=v8:4280 Review-Url: https://codereview.chromium.org/2554723004 Cr-Commit-Position: refs/heads/master@{#41768} Committed: https://chromium.googlesource.com/v8/v8/+/74ccda64dc6b3ecec1eecf8987da37a106da57de

Patch Set 1 #

Patch Set 2 : "Fixed a DCHECK" #

Total comments: 4

Patch Set 3 : Fixed nits from Ross. #

Patch Set 4 : rebased the patch. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+239 lines, -18 lines) Patch
M src/compiler/bytecode-graph-builder.cc View 1 2 3 1 chunk +16 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-peephole-optimizer.cc View 1 2 3 2 chunks +10 lines, -10 lines 0 comments Download
M src/interpreter/bytecode-peephole-table.h View 1 chunk +1 line, -1 line 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 2 chunks +4 lines, -0 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 2 chunks +48 lines, -1 line 0 comments Download
M src/interpreter/mkpeephole.cc View 1 chunk +14 lines, -5 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/GenerateTestUndetectable.golden View 1 chunk +116 lines, -0 lines 0 comments Download
M test/cctest/interpreter/test-bytecode-generator.cc View 1 2 3 1 chunk +23 lines, -0 lines 0 comments Download
M test/unittests/interpreter/bytecode-array-builder-unittest.cc View 1 2 3 2 chunks +7 lines, -1 line 0 comments Download

Messages

Total messages: 38 (22 generated)
mythria
This cl is to optimize strict equals check with null or undefined. On benchmarks it ...
4 years ago (2016-12-12 11:36:05 UTC) #9
rmcilroy
+Benedikt High level question - is it worth having three bytecodes for these cases (along ...
4 years ago (2016-12-14 18:50:00 UTC) #11
Benedikt Meurer
On 2016/12/14 18:50:00, rmcilroy wrote: > +Benedikt > > High level question - is it ...
4 years ago (2016-12-14 18:56:22 UTC) #12
mythria
Thanks Benedikt and Ross. I fixed the nits. I will also look at the typeof ...
4 years ago (2016-12-15 09:27:39 UTC) #13
rmcilroy
LGTM, thanks.
4 years ago (2016-12-15 12:11:47 UTC) #22
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/2554723004/60001
4 years ago (2016-12-15 14:16:24 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/30670)
4 years ago (2016-12-15 14:19:14 UTC) #26
mythria
Benedikt, could PTAL at compiler changes. Thanks, Mythri
4 years ago (2016-12-16 08:58:24 UTC) #27
Benedikt Meurer
lgtm
4 years ago (2016-12-16 09:16:09 UTC) #28
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/2554723004/60001
4 years ago (2016-12-16 14:33:14 UTC) #30
commit-bot: I haz the power
Committed patchset #4 (id:60001) as https://chromium.googlesource.com/v8/v8/+/74ccda64dc6b3ecec1eecf8987da37a106da57de
4 years ago (2016-12-16 15:01:16 UTC) #33
Benedikt Meurer
This gave a nice improvement on Box2D with I+TF!
4 years ago (2016-12-16 20:18:36 UTC) #34
Jarin
On 2016/12/16 20:18:36, Benedikt Meurer wrote: > This gave a nice improvement on Box2D with ...
4 years ago (2016-12-16 20:51:34 UTC) #35
Benedikt Meurer
On 2016/12/16 20:51:34, Jarin wrote: > On 2016/12/16 20:18:36, Benedikt Meurer wrote: > > This ...
4 years ago (2016-12-16 21:09:43 UTC) #36
rmcilroy
On 2016/12/16 21:09:43, Benedikt Meurer wrote: > On 2016/12/16 20:51:34, Jarin wrote: > > On ...
4 years ago (2016-12-16 23:43:01 UTC) #37
rmcilroy
4 years ago (2016-12-17 13:00:54 UTC) #38
Message was sent while issue was closed.
I have a theory as to why we see the I+TF improvement here, I added Mythri and
Jaro to a thread where I describe what might be going on.

Powered by Google App Engine
This is Rietveld 408576698