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

Issue 2161543002: [turbofan] Add support for eager/soft deoptimization reasons. (Closed)

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

Description

[turbofan] Add support for eager/soft deoptimization reasons. So far TurboFan wasn't adding the deoptimization reasons for eager/soft deoptimization exits that can be used by either the DevTools profiler or the --trace-deopt flag. This adds basic support for deopt reasons on Deoptimize, DeoptimizeIf and DeoptimizeUnless nodes and threads through the reasons to the code generation. Also moves the DeoptReason to it's own file (to resolve include cycles) and drops unused reasons. R=jarin@chromium.org Committed: https://crrev.com/db635d5b720cc82e587f2183c3f4ec6d2d8139b2 Cr-Commit-Position: refs/heads/master@{#37823}

Patch Set 1 #

Patch Set 2 : Do the ports properly #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1585 lines, -1386 lines) Patch
M BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M src/arm/assembler-arm.h View 1 chunk +1 line, -1 line 0 comments Download
M src/arm64/assembler-arm64.h View 1 chunk +1 line, -1 line 0 comments Download
M src/assembler.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/assembler.cc View 2 chunks +5 lines, -4 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 19 chunks +23 lines, -22 lines 0 comments Download
M src/compiler/arm/code-generator-arm.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/arm/instruction-selector-arm.cc View 1 7 chunks +11 lines, -10 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/arm64/instruction-selector-arm64.cc View 1 5 chunks +9 lines, -8 lines 0 comments Download
M src/compiler/branch-elimination.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M src/compiler/code-generator.h View 2 chunks +13 lines, -8 lines 0 comments Download
M src/compiler/code-generator.cc View 4 chunks +15 lines, -9 lines 0 comments Download
M src/compiler/common-operator.h View 4 chunks +27 lines, -4 lines 0 comments Download
M src/compiler/common-operator.cc View 5 chunks +53 lines, -29 lines 0 comments Download
M src/compiler/common-operator-reducer.cc View 3 chunks +6 lines, -4 lines 0 comments Download
M src/compiler/effect-control-linearizer.cc View 25 chunks +78 lines, -52 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/ia32/instruction-selector-ia32.cc View 1 5 chunks +8 lines, -8 lines 0 comments Download
M src/compiler/instruction.h View 2 chunks +20 lines, -16 lines 0 comments Download
M src/compiler/instruction.cc View 1 chunk +7 lines, -13 lines 0 comments Download
M src/compiler/instruction-selector.h View 2 chunks +5 lines, -3 lines 0 comments Download
M src/compiler/instruction-selector.cc View 6 chunks +17 lines, -17 lines 0 comments Download
M src/compiler/instruction-selector-impl.h View 3 chunks +20 lines, -7 lines 0 comments Download
M src/compiler/js-intrinsic-lowering.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M src/compiler/js-native-context-specialization.h View 2 chunks +2 lines, -1 line 0 comments Download
M src/compiler/js-native-context-specialization.cc View 5 chunks +16 lines, -8 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/mips/instruction-selector-mips.cc View 1 4 chunks +8 lines, -7 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/mips64/instruction-selector-mips64.cc View 1 4 chunks +8 lines, -7 lines 0 comments Download
M src/compiler/ppc/code-generator-ppc.cc View 1 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/ppc/instruction-selector-ppc.cc View 1 3 chunks +6 lines, -6 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/s390/instruction-selector-s390.cc View 1 3 chunks +6 lines, -6 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/x64/instruction-selector-x64.cc View 5 chunks +8 lines, -8 lines 0 comments Download
M src/compiler/x87/code-generator-x87.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/x87/instruction-selector-x87.cc View 1 7 chunks +10 lines, -10 lines 0 comments Download
M src/crankshaft/arm/lithium-codegen-arm.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/arm/lithium-codegen-arm.cc View 74 chunks +93 lines, -94 lines 0 comments Download
M src/crankshaft/arm64/lithium-codegen-arm64.h View 1 chunk +13 lines, -16 lines 0 comments Download
M src/crankshaft/arm64/lithium-codegen-arm64.cc View 70 chunks +103 lines, -118 lines 0 comments Download
M src/crankshaft/hydrogen.h View 4 chunks +6 lines, -8 lines 0 comments Download
M src/crankshaft/hydrogen.cc View 1 22 chunks +33 lines, -30 lines 0 comments Download
M src/crankshaft/hydrogen-instructions.h View 2 chunks +4 lines, -5 lines 0 comments Download
M src/crankshaft/ia32/lithium-codegen-ia32.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/ia32/lithium-codegen-ia32.cc View 73 chunks +98 lines, -99 lines 0 comments Download
M src/crankshaft/lithium-codegen.h View 1 chunk +3 lines, -2 lines 0 comments Download
M src/crankshaft/lithium-codegen.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/crankshaft/mips/lithium-codegen-mips.h View 1 chunk +5 lines, -5 lines 0 comments Download
M src/crankshaft/mips/lithium-codegen-mips.cc View 70 chunks +104 lines, -90 lines 0 comments Download
M src/crankshaft/mips64/lithium-codegen-mips64.h View 1 chunk +5 lines, -5 lines 0 comments Download
M src/crankshaft/mips64/lithium-codegen-mips64.cc View 78 chunks +117 lines, -100 lines 0 comments Download
M src/crankshaft/ppc/lithium-codegen-ppc.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/ppc/lithium-codegen-ppc.cc View 79 chunks +98 lines, -101 lines 0 comments Download
M src/crankshaft/s390/lithium-codegen-s390.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/s390/lithium-codegen-s390.cc View 76 chunks +96 lines, -96 lines 0 comments Download
M src/crankshaft/x64/lithium-codegen-x64.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/x64/lithium-codegen-x64.cc View 75 chunks +99 lines, -100 lines 0 comments Download
M src/crankshaft/x87/lithium-codegen-x87.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/x87/lithium-codegen-x87.cc View 73 chunks +97 lines, -98 lines 0 comments Download
A src/deoptimize-reason.h View 1 chunk +100 lines, -0 lines 0 comments Download
A src/deoptimize-reason.cc View 1 chunk +38 lines, -0 lines 0 comments Download
M src/deoptimizer.h View 3 chunks +4 lines, -90 lines 0 comments Download
M src/deoptimizer.cc View 2 chunks +3 lines, -13 lines 0 comments Download
M src/disassembler.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M src/ia32/assembler-ia32.h View 1 chunk +1 line, -1 line 0 comments Download
M src/mips/assembler-mips.h View 1 chunk +1 line, -1 line 0 comments Download
M src/mips64/assembler-mips64.h View 1 chunk +1 line, -1 line 0 comments Download
M src/objects.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M src/ppc/assembler-ppc.h View 1 chunk +1 line, -1 line 0 comments Download
M src/profiler/profiler-listener.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/s390/assembler-s390.h View 1 chunk +1 line, -1 line 0 comments Download
M src/v8.gyp View 1 chunk +2 lines, -0 lines 0 comments Download
M src/x64/assembler-x64.h View 1 chunk +1 line, -1 line 0 comments Download
M src/x87/assembler-x87.h View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-cpu-profiler.cc View 4 chunks +8 lines, -8 lines 0 comments Download
M test/unittests/compiler/escape-analysis-unittest.cc View 2 chunks +6 lines, -4 lines 0 comments Download
M test/unittests/compiler/instruction-selector-unittest.cc View 1 chunk +3 lines, -3 lines 0 comments Download

Messages

Total messages: 16 (10 generated)
Benedikt Meurer
4 years, 5 months ago (2016-07-18 08:08:36 UTC) #1
Benedikt Meurer
Hey Jaro, Here are the missing bits for DeoptReason in TurboFan. Please take a look. ...
4 years, 5 months ago (2016-07-18 08:10:31 UTC) #4
Jarin
lgtm
4 years, 5 months ago (2016-07-18 08:47:45 UTC) #7
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/2161543002/20001
4 years, 5 months ago (2016-07-18 08:52:41 UTC) #13
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 5 months ago (2016-07-18 09:23:36 UTC) #14
commit-bot: I haz the power
4 years, 5 months ago (2016-07-18 09:25:23 UTC) #16
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/db635d5b720cc82e587f2183c3f4ec6d2d8139b2
Cr-Commit-Position: refs/heads/master@{#37823}

Powered by Google App Engine
This is Rietveld 408576698