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

Issue 2384113002: [turbofan] Osr value typing + dynamic type checks on entry. (Closed)

Created:
4 years, 2 months ago by Jarin
Modified:
4 years, 2 months ago
Reviewers:
Benedikt Meurer
CC:
v8-reviews_googlegroups.com, rmcilroy, Michael Starzinger
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Osr value typing + dynamic type checks on entry. This introduces a new OsrGuard node that is inserted during graph building to guard the inferred type of the OSR value. The type of the OSR value is inferred by running the typer before OSR deconstruction, and then taking the type from the phi that takes the OSR value. After the deconstruction, we throw the types away. At the moment we only support the SignedSmall OSR type and we always pick the tagged representation. Later, we might want to support more types (such as Number) and pick better representations (int32/float64). This CL also removes the OSR deconstruction tests because they build unrealistic graph (no effect chain, no loop termination). I considered adding the effect chains to the tests, but this would make the tests even more brittle. Committed: https://crrev.com/1f5dc90a900d222da44bee3eff171a2ba1e3c076 Cr-Commit-Position: refs/heads/master@{#39971}

Patch Set 1 #

Patch Set 2 : Test #

Patch Set 3 : Remove dead code #

Patch Set 4 : Fix test for always-opt #

Patch Set 5 : Fix liveness block #

Unified diffs Side-by-side diffs Delta from patch set Stats (+351 lines, -602 lines) Patch
M src/compiler/ast-graph-builder.cc View 1 2 3 4 2 chunks +33 lines, -11 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 chunk +18 lines, -0 lines 0 comments Download
M src/compiler/common-operator.h View 2 chunks +8 lines, -0 lines 0 comments Download
M src/compiler/common-operator.cc View 3 chunks +32 lines, -1 line 0 comments Download
M src/compiler/instruction-selector.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/js-frame-specialization.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/node-properties.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/opcodes.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/osr.cc View 4 chunks +48 lines, -5 lines 0 comments Download
M src/compiler/pipeline.cc View 4 chunks +29 lines, -3 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 1 2 4 chunks +30 lines, -2 lines 0 comments Download
M src/compiler/typer.cc View 1 chunk +13 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 1 chunk +17 lines, -0 lines 0 comments Download
M test/cctest/BUILD.gn View 1 chunk +0 lines, -1 line 0 comments Download
M test/cctest/cctest.gyp View 1 chunk +0 lines, -1 line 0 comments Download
D test/cctest/compiler/test-osr.cc View 1 chunk +0 lines, -575 lines 0 comments Download
A test/mjsunit/compiler/osr-typing-debug-change.js View 1 2 3 1 chunk +119 lines, -0 lines 0 comments Download

Messages

Total messages: 23 (17 generated)
Jarin
Could you take a look, please?
4 years, 2 months ago (2016-10-03 18:21:03 UTC) #6
Benedikt Meurer
lgtm
4 years, 2 months ago (2016-10-05 05:48:40 UTC) #17
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/2384113002/80001
4 years, 2 months ago (2016-10-05 05:55:08 UTC) #19
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 2 months ago (2016-10-05 05:56:49 UTC) #20
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/1f5dc90a900d222da44bee3eff171a2ba1e3c076 Cr-Commit-Position: refs/heads/master@{#39971}
4 years, 2 months ago (2016-10-05 05:57:01 UTC) #22
Jarin
4 years, 2 months ago (2016-10-05 10:34:05 UTC) #23
Message was sent while issue was closed.
A revert of this CL (patchset #5 id:80001) has been created in
https://codereview.chromium.org/2395783002/ by jarin@chromium.org.

The reason for reverting is: Tanks the world..

Powered by Google App Engine
This is Rietveld 408576698