[turbofan] Support lazy deopt for truncating store to a typed array.
authorjarin <jarin@chromium.org>
Thu, 19 Mar 2015 05:46:22 +0000 (22:46 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 19 Mar 2015 05:46:30 +0000 (05:46 +0000)
commit0cde253c9efc0b0a362ea8c1a52fe408aa2a142c
treefac650cc67bd2f6634bf17baf483bc11371f022d
parentf24291905e9820b75ab4b470bb47e28606bf2ef6
[turbofan] Support lazy deopt for truncating store to a typed array.

The change introduces a second frame state (for the state before
the operation) for the StoreProperty nodes. If the store writes
into a typed array, the frame state is used for lazy deopt from
the to-number conversion that is performed by the store.

BUG=v8:3963
LOG=n
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/997983004

Cr-Commit-Position: refs/heads/master@{#27285}
src/compiler/ast-graph-builder.cc
src/compiler/js-typed-lowering.cc
src/compiler/operator-properties.cc
test/mjsunit/compiler/truncating-store-deopt.js [new file with mode: 0644]
test/unittests/compiler/js-operator-unittest.cc
test/unittests/compiler/js-typed-lowering-unittest.cc