• bmeurer's avatar
    Revert of [turbofan] Insert dummy values when changing from None type.... · a55fdb1e
    bmeurer authored
    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
    
    Review-Url: https://codereview.chromium.org/2280613002
    Cr-Commit-Position: refs/heads/master@{#38893}
    a55fdb1e
Name
Last commit
Last update
..
c-signature.h Loading commit data...
call-tester.h Loading commit data...
code-assembler-tester.h Loading commit data...
codegen-tester.cc Loading commit data...
codegen-tester.h Loading commit data...
function-tester.h Loading commit data...
graph-builder-tester.h Loading commit data...
test-basic-block-profiler.cc Loading commit data...
test-branch-combine.cc Loading commit data...
test-code-assembler.cc Loading commit data...
test-gap-resolver.cc Loading commit data...
test-graph-visualizer.cc Loading commit data...
test-instruction.cc Loading commit data...
test-js-constant-cache.cc Loading commit data...
test-js-context-specialization.cc Loading commit data...
test-js-typed-lowering.cc Loading commit data...
test-jump-threading.cc Loading commit data...
test-linkage.cc Loading commit data...
test-loop-analysis.cc Loading commit data...
test-loop-assignment-analysis.cc Loading commit data...
test-machine-operator-reducer.cc Loading commit data...
test-multiple-return.cc Loading commit data...
test-node.cc Loading commit data...
test-operator.cc Loading commit data...
test-osr.cc Loading commit data...
test-representation-change.cc Loading commit data...
test-run-bytecode-graph-builder.cc Loading commit data...
test-run-calls-to-external-references.cc Loading commit data...
test-run-deopt.cc Loading commit data...
test-run-inlining.cc Loading commit data...
test-run-intrinsics.cc Loading commit data...
test-run-jsbranches.cc Loading commit data...
test-run-jscalls.cc Loading commit data...
test-run-jsexceptions.cc Loading commit data...
test-run-jsobjects.cc Loading commit data...
test-run-jsops.cc Loading commit data...
test-run-load-store.cc Loading commit data...
test-run-machops.cc Loading commit data...
test-run-native-calls.cc Loading commit data...
test-run-stackcheck.cc Loading commit data...
test-run-stubs.cc Loading commit data...
test-run-unwinding-info.cc Loading commit data...
test-run-variables.cc Loading commit data...
test-run-wasm-machops.cc Loading commit data...
test-simplified-lowering.cc Loading commit data...
value-helper.h Loading commit data...