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

Issue 2365223003: Revert of [compiler] Properly guard the speculative optimizations for instanceof. (Closed)

Created:
4 years, 2 months ago by Benedikt Meurer
Modified:
4 years, 2 months ago
Reviewers:
mvstanton
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-x87-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, rmcilroy
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Revert of [compiler] Properly guard the speculative optimizations for instanceof. (patchset #3 id:40001 of https://codereview.chromium.org/2370693002/ ) Reason for revert: Tanks EarleyBoyer. Original issue's description: > [compiler] Properly guard the speculative optimizations for instanceof. > > Add a general feedback slot for instanceof similar to what we already have > for for-in, which basically has a fast (indicated by the uninitialized > sentinel) and a slow (indicated by the megamorphic sentinel) mode. Now > we can only take the fast path when the feedback slot says it hasn't > seen any funky inputs and nothing funky appeared in the prototype chain. > In the TurboFan code we also deoptimize whenever we see a funky object > (i.e. a proxy or an object that requires access checks) in the prototype > chain (similar to what Crankshaft already did). > > Drive-by-fix: Also make Crankshaft respect the mode and therefore > address the deopt loop in Crankshaft around instanceof. > > We might want to introduce an InstanceOfIC mechanism at some point and > track the map of the right-hand side. > > BUG=v8:5267 > R=mvstanton@chromium.org > > Committed: https://crrev.com/a0484bc6116ebc2b855de87d862945e2ae07169b > Cr-Commit-Position: refs/heads/master@{#39718} TBR=mvstanton@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5267 Committed: https://crrev.com/b9cdb630dd86d5e4d6acafdb77e61684213c2a82 Cr-Commit-Position: refs/heads/master@{#39736}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+202 lines, -366 lines) Patch
M src/ast/ast.cc View 1 chunk +1 line, -5 lines 0 comments Download
M src/code-stub-assembler.h View 2 chunks +3 lines, -21 lines 0 comments Download
M src/code-stub-assembler.cc View 2 chunks +1 line, -13 lines 0 comments Download
M src/code-stubs.h View 2 chunks +0 lines, -12 lines 0 comments Download
M src/code-stubs.cc View 1 chunk +0 lines, -61 lines 0 comments Download
M src/compiler/ast-graph-builder.cc View 1 chunk +3 lines, -6 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 chunk +1 line, -3 lines 0 comments Download
M src/compiler/effect-control-linearizer.h View 1 chunk +2 lines, -5 lines 0 comments Download
M src/compiler/effect-control-linearizer.cc View 3 chunks +7 lines, -109 lines 0 comments Download
M src/compiler/js-operator.h View 3 chunks +1 line, -4 lines 0 comments Download
M src/compiler/js-operator.cc View 4 chunks +1 line, -20 lines 0 comments Download
M src/compiler/js-typed-lowering.cc View 2 chunks +123 lines, -18 lines 0 comments Download
M src/compiler/opcodes.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/compiler/simplified-lowering.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M src/compiler/simplified-operator.h View 1 chunk +0 lines, -2 lines 0 comments Download
M src/compiler/simplified-operator.cc View 1 chunk +0 lines, -1 line 0 comments Download
M src/compiler/typer.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M src/compiler/verifier.cc View 1 chunk +0 lines, -5 lines 0 comments Download
M src/crankshaft/hydrogen.cc View 1 chunk +9 lines, -17 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 chunk +1 line, -3 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 chunk +1 line, -3 lines 0 comments Download
M src/full-codegen/full-codegen.h View 1 chunk +2 lines, -6 lines 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 chunk +1 line, -3 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 chunk +1 line, -3 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 chunk +1 line, -3 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 chunk +1 line, -3 lines 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 chunk +1 line, -2 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 chunk +1 line, -2 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/interpreter/bytecode_expectations/IfConditions.golden View 2 chunks +2 lines, -2 lines 0 comments Download
D test/mjsunit/compiler/deopt-instanceof-proxy.js View 1 chunk +0 lines, -24 lines 0 comments Download
M test/unittests/compiler/js-typed-lowering-unittest.cc View 1 chunk +37 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (2 generated)
Benedikt Meurer
Created Revert of [compiler] Properly guard the speculative optimizations for instanceof.
4 years, 2 months ago (2016-09-26 17:39:56 UTC) #2
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/2365223003/1
4 years, 2 months ago (2016-09-26 17:40:05 UTC) #3
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 2 months ago (2016-09-26 17:40:27 UTC) #4
commit-bot: I haz the power
4 years, 2 months ago (2016-09-26 17:40:40 UTC) #6
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/b9cdb630dd86d5e4d6acafdb77e61684213c2a82
Cr-Commit-Position: refs/heads/master@{#39736}

Powered by Google App Engine
This is Rietveld 408576698