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

Issue 874323003: Externalize deoptimization reasons. (Closed)

Created:
5 years, 11 months ago by loislo
Modified:
5 years, 10 months ago
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Externalize deoptimization reasons. 1) The hardcoded strings were converted into DeoptReason enum. 2) Deopt comment were converted into a pair location and deopt reason entries so the deopt reason tracking mode would less affect the size of the RelocInfo table and heap. 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table. BUG=452067 LOG=n Committed: https://crrev.com/c49820e45b57f128a98690940875c049f612dde6 Cr-Commit-Position: refs/heads/master@{#26434} Committed: https://crrev.com/ec42e002da03adb2db968dd5b7453341ddc59a5c Cr-Commit-Position: refs/heads/master@{#26448} Committed: https://crrev.com/2491a639bf46da4bfdcf65329305ee3053aa5fec Cr-Commit-Position: refs/heads/master@{#26463}

Patch Set 1 #

Total comments: 6

Patch Set 2 : x64, ia32 and arm are ready #

Patch Set 3 : +mips #

Patch Set 4 : arm64 #

Total comments: 10

Patch Set 5 : comments addressed #

Patch Set 6 : fix codepage for symbol C. It was in russan encoding #

Patch Set 7 : enum casting was removed #

Patch Set 8 : fix problem with DEOPT_REASON on mips #

Patch Set 9 : minor change #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1236 lines, -921 lines) Patch
M src/arm/assembler-arm.h View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M src/arm/assembler-arm.cc View 1 1 chunk +9 lines, -0 lines 0 comments Download
M src/arm/lithium-codegen-arm.h View 1 2 3 4 1 chunk +3 lines, -2 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 6 7 76 chunks +98 lines, -98 lines 0 comments Download
M src/arm64/assembler-arm64.h View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M src/arm64/assembler-arm64.cc View 1 2 3 1 chunk +9 lines, -0 lines 0 comments Download
M src/arm64/lithium-codegen-arm64.h View 1 2 3 1 chunk +20 lines, -13 lines 0 comments Download
M src/arm64/lithium-codegen-arm64.cc View 1 2 3 4 5 6 7 71 chunks +133 lines, -120 lines 0 comments Download
M src/assembler.h View 1 2 3 4 5 6 7 8 4 chunks +9 lines, -6 lines 0 comments Download
M src/assembler.cc View 1 2 3 4 5 6 7 9 chunks +25 lines, -3 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 4 5 6 7 11 chunks +14 lines, -11 lines 0 comments Download
M src/deoptimizer.h View 1 2 3 4 5 2 chunks +89 lines, -4 lines 0 comments Download
M src/deoptimizer.cc View 1 1 chunk +9 lines, -0 lines 0 comments Download
M src/disassembler.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M src/hydrogen.h View 1 2 3 4 4 chunks +8 lines, -8 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 22 chunks +38 lines, -30 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 2 chunks +5 lines, -4 lines 0 comments Download
M src/ia32/assembler-ia32.h View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M src/ia32/assembler-ia32.cc View 1 1 chunk +9 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.h View 1 2 3 4 1 chunk +4 lines, -2 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 7 75 chunks +105 lines, -103 lines 0 comments Download
M src/lithium-codegen.cc View 1 2 3 4 5 6 1 chunk +1 line, -5 lines 0 comments Download
M src/mips/assembler-mips.h View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M src/mips/assembler-mips.cc View 1 2 1 chunk +9 lines, -0 lines 0 comments Download
M src/mips/lithium-codegen-mips.h View 1 2 3 4 5 6 7 1 chunk +6 lines, -4 lines 0 comments Download
M src/mips/lithium-codegen-mips.cc View 1 2 3 4 5 6 7 73 chunks +137 lines, -100 lines 0 comments Download
M src/mips64/lithium-codegen-mips64.cc View 1 2 3 4 5 6 7 72 chunks +139 lines, -100 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 2 chunks +12 lines, -7 lines 0 comments Download
M src/ppc/lithium-codegen-ppc.cc View 1 83 chunks +99 lines, -97 lines 0 comments Download
M src/x64/assembler-x64.h View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M src/x64/assembler-x64.cc View 1 2 1 chunk +9 lines, -0 lines 0 comments Download
M src/x64/lithium-codegen-x64.h View 1 2 3 4 1 chunk +4 lines, -2 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 6 7 77 chunks +106 lines, -104 lines 0 comments Download
M src/x87/lithium-codegen-x87.cc View 1 2 3 4 5 6 7 72 chunks +100 lines, -98 lines 0 comments Download

Messages

Total messages: 31 (7 generated)
loislo
5 years, 11 months ago (2015-01-27 13:24:58 UTC) #2
Sven Panne
Looking good so far. Apart from the missing platform ports, it should be functionally equivalent ...
5 years, 10 months ago (2015-01-29 11:32:51 UTC) #3
Sven Panne
2 remarks after talking about this at lunch... :-) https://codereview.chromium.org/874323003/diff/1/src/assembler.h File src/assembler.h (right): https://codereview.chromium.org/874323003/diff/1/src/assembler.h#newcode376 src/assembler.h:376: ...
5 years, 10 months ago (2015-01-30 11:50:08 UTC) #4
loislo
https://codereview.chromium.org/874323003/diff/1/src/assembler.h File src/assembler.h (right): https://codereview.chromium.org/874323003/diff/1/src/assembler.h#newcode376 src/assembler.h:376: DEOPT_REASON, // Deoptimization reason index. On 2015/01/30 at 11:50:08, ...
5 years, 10 months ago (2015-01-30 13:17:47 UTC) #5
Sven Panne
https://codereview.chromium.org/874323003/diff/1/src/assembler.h File src/assembler.h (right): https://codereview.chromium.org/874323003/diff/1/src/assembler.h#newcode376 src/assembler.h:376: DEOPT_REASON, // Deoptimization reason index. I was more concerned ...
5 years, 10 months ago (2015-01-30 13:25:47 UTC) #6
loislo
Michael, could you please take a look. The patch is working for x64, ia32, mips, ...
5 years, 10 months ago (2015-02-04 07:54:56 UTC) #8
Michael Starzinger
LGTM with comments. I mainly looked at the RelocInfo part, only glimpsed over the Hydrogen ...
5 years, 10 months ago (2015-02-04 11:30:52 UTC) #9
Sven Panne
LGTM from my side, too, when Michael's comments are addressed. Furthermore, please rebase + restart ...
5 years, 10 months ago (2015-02-04 11:48:16 UTC) #10
loislo
comments addressed https://codereview.chromium.org/874323003/diff/60001/src/assembler.cc File src/assembler.cc (right): https://codereview.chromium.org/874323003/diff/60001/src/assembler.cc#newcode331 src/assembler.cc:331: // Reuse the same value for deopt ...
5 years, 10 months ago (2015-02-04 14:38:50 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/874323003/100001
5 years, 10 months ago (2015-02-04 16:35:02 UTC) #14
commit-bot: I haz the power
Committed patchset #6 (id:100001)
5 years, 10 months ago (2015-02-04 16:35:25 UTC) #15
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/c49820e45b57f128a98690940875c049f612dde6 Cr-Commit-Position: refs/heads/master@{#26434}
5 years, 10 months ago (2015-02-04 16:35:37 UTC) #16
loislo
A revert of this CL (patchset #6 id:100001) has been created in https://codereview.chromium.org/892843007/ by loislo@chromium.org. ...
5 years, 10 months ago (2015-02-04 16:47:38 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/874323003/120001
5 years, 10 months ago (2015-02-05 06:24:39 UTC) #19
commit-bot: I haz the power
Committed patchset #7 (id:120001)
5 years, 10 months ago (2015-02-05 06:25:08 UTC) #20
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/ec42e002da03adb2db968dd5b7453341ddc59a5c Cr-Commit-Position: refs/heads/master@{#26448}
5 years, 10 months ago (2015-02-05 06:25:32 UTC) #21
Benedikt Meurer
A revert of this CL (patchset #7 id:120001) has been created in https://codereview.chromium.org/900223002/ by bmeurer@chromium.org. ...
5 years, 10 months ago (2015-02-05 12:01:59 UTC) #22
loislo
Hi Benedikt, I've found the root problem but it was too late :) I fixed ...
5 years, 10 months ago (2015-02-05 13:13:37 UTC) #24
Michael Starzinger
LGTM (rubber-stamped).
5 years, 10 months ago (2015-02-05 13:38:26 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/874323003/160001
5 years, 10 months ago (2015-02-05 13:40:41 UTC) #27
commit-bot: I haz the power
Committed patchset #9 (id:160001)
5 years, 10 months ago (2015-02-05 14:51:53 UTC) #28
commit-bot: I haz the power
Patchset 9 (id:??) landed as https://crrev.com/2491a639bf46da4bfdcf65329305ee3053aa5fec Cr-Commit-Position: refs/heads/master@{#26463}
5 years, 10 months ago (2015-02-05 14:52:08 UTC) #29
dcarney
this CL seems to have broken --trace-deopt on arm64, maybe in general, but in particular ...
5 years, 10 months ago (2015-02-11 14:34:54 UTC) #30
loislo
5 years, 10 months ago (2015-02-11 14:36:21 UTC) #31
Message was sent while issue was closed.
On 2015/02/11 14:34:54, dcarney wrote:
> this CL seems to have broken --trace-deopt on arm64, maybe in general, but in
> particular when executing the following on ToT:
> 
> ./out/arm64.debug/d8 --test --random-seed=-235865360 --turbo-deoptimization
> --turbo-filter=* --always-opt --debug-code --verify-heap --gc-interval=500
> --stress-compaction test/mjsunit/mjsunit.js
> test/mjsunit/regress/regress-builtinbust-7.js --trace-deopt
> 
> the cl is currently unrevertable in any kind of simple way, please fix!

I'll take a look.

Powered by Google App Engine
This is Rietveld 408576698