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

Issue 2280613002: Revert of [turbofan] Insert dummy values when changing from None type. (Closed)

Created:
4 years, 3 months ago by Benedikt Meurer
Modified:
4 years, 3 months ago
CC:
v8-reviews_googlegroups.com, v8-x87-ports_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Revert of [turbofan] Insert dummy values when changing from None type. (patchset #5 id:80001 of https://codereview.chromium.org/2266823002/ ) Reason for revert: Octane/Mandreel aborts with an exception now: TypeError: __FUNCTION_TABLE__[(r2 >> 2)] is not a function Original issue's description: > [turbofan] Insert dummy values when changing from None type. > > Currently we choose the MachineRepresentation::kNone representation for > values of Type::None, and when converting values from the kNone representation > we use "impossible" conversions that will crash at runtime. This > assumes that the impossible conversions should never be hit (the only > way to produce the impossible values is to perform an always-failing > runtime check on a value, such as Smi-checking a string). Note that > this assumes that the runtime check is executed before the impossible > convesrion. > > Introducing BitwiseOr type feedback broke this in two ways: > > - we always pick Word32 representation for bitwise-or, so the > impossible conversion does not trigger (it only triggers with > None representation), and we could end up with unsupported > conversions from Word32. > > - even if we inserted impossible conversions, they are pure conversions. > Since untagging, bitwise-or operations are also pure, we could hoist > all these before the smi check of the inputs and we could hit the > impossible conversions before we get to the smi check. > > This CL addresses this by just providing dummy values for conversions > from the Type::None type. It also removes the impossible-to-* conversions. > > BUG=chromium:638132 > > Committed: https://crrev.com/c83b21ab755f1420b6da85b3ff43d7e96ead9bbe > Cr-Commit-Position: refs/heads/master@{#38883} TBR=mstarzinger@chromium.org,jarin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:638132 Committed: https://crrev.com/a55fdb1e7c19e2f9868190284df56bcf709dbf12 Cr-Commit-Position: refs/heads/master@{#38893}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+202 lines, -92 lines) Patch
M src/bailout-reason.h View 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/arm/code-generator-arm.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/instruction-codes.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/instruction-scheduler.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/instruction-selector.cc View 4 chunks +60 lines, -11 lines 0 comments Download
M src/compiler/machine-operator.h View 1 chunk +10 lines, -0 lines 0 comments Download
M src/compiler/machine-operator.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/mips64/code-generator-mips64.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/opcodes.h View 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/ppc/code-generator-ppc.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/representation-change.cc View 6 chunks +24 lines, -24 lines 0 comments Download
M src/compiler/s390/code-generator-s390.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 4 chunks +5 lines, -11 lines 0 comments Download
M src/compiler/typer.cc View 1 chunk +22 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/x87/code-generator-x87.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M test/cctest/compiler/test-representation-change.cc View 8 chunks +29 lines, -19 lines 0 comments Download
D test/mjsunit/compiler/regress-638132.js View 1 chunk +0 lines, -26 lines 0 comments Download

Messages

Total messages: 7 (3 generated)
Benedikt Meurer
Created Revert of [turbofan] Insert dummy values when changing from None type.
4 years, 3 months ago (2016-08-25 08:49:06 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/2280613002/1
4 years, 3 months ago (2016-08-25 08:49:18 UTC) #3
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 3 months ago (2016-08-25 08:50:00 UTC) #5
commit-bot: I haz the power
4 years, 3 months ago (2016-08-25 08:50:31 UTC) #7
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/a55fdb1e7c19e2f9868190284df56bcf709dbf12
Cr-Commit-Position: refs/heads/master@{#38893}

Powered by Google App Engine
This is Rietveld 408576698