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

Issue 1706283002: [fullcodegen] Implement operand stack depth tracking. (Closed)

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

Description

[fullcodegen] Implement operand stack depth tracking. This implements a mechanism to track the exact depth of the operand stack in full-codegen for every sub-expression visitation. So far we only tracked the depth at statement level, but not at expression level. With the introduction of do-expressions it will be possible to construct local control flow (i.e. break, continue and friends) that target labels at an arbitrary operand stack depth, making this tracking a prerequisite for full do-expression support. R=rossberg@chromium.org,jarin@chromium.org BUG=v8:4755, v8:4488 LOG=n Committed: https://crrev.com/38915ed71c179276a1368ea8442bf88f66f50a4c Cr-Commit-Position: refs/heads/master@{#34211}

Patch Set 1 #

Total comments: 7

Patch Set 2 : Addressed comments. #

Patch Set 3 : Rebased. #

Patch Set 4 : Ported to x64. #

Patch Set 5 : Small fix. #

Patch Set 6 : Ported to ARM. #

Patch Set 7 : Ported to ARM64. #

Patch Set 8 : Ported to MIPS. #

Total comments: 2

Patch Set 9 : Addressed comments. #

Patch Set 10 : Rebased. #

Patch Set 11 : Imported MIPS64 port. #

Patch Set 12 : Turn off verification. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1122 lines, -1183 lines) Patch
M src/bailout-reason.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -0 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 2 3 4 5 6 7 8 9 79 chunks +150 lines, -173 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 2 3 4 5 6 7 8 9 79 chunks +152 lines, -170 lines 0 comments Download
M src/full-codegen/full-codegen.h View 1 2 3 4 5 6 7 8 9 10 chunks +34 lines, -21 lines 0 comments Download
M src/full-codegen/full-codegen.cc View 1 2 3 4 5 6 7 8 9 20 chunks +129 lines, -34 lines 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 2 3 4 5 6 7 8 9 77 chunks +151 lines, -176 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 2 3 4 5 6 7 8 9 80 chunks +151 lines, -163 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 2 3 4 5 6 7 8 9 10 80 chunks +152 lines, -165 lines 0 comments Download
M src/full-codegen/ppc/full-codegen-ppc.cc View 1 2 3 4 5 6 7 8 9 3 chunks +0 lines, -54 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 2 3 4 5 6 7 8 9 79 chunks +153 lines, -172 lines 0 comments Download
M src/full-codegen/x87/full-codegen-x87.cc View 1 2 3 4 5 6 7 8 9 3 chunks +0 lines, -55 lines 0 comments Download
M src/objects-printer.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
A test/mjsunit/harmony/regress/regress-4755.js View 1 chunk +45 lines, -0 lines 0 comments Download

Messages

Total messages: 17 (4 generated)
Michael Starzinger
This is still missing architecture ports. I would however like to get a first round ...
4 years, 10 months ago (2016-02-18 17:38:20 UTC) #1
Jarin
Looking great so far! Just a couple of questions. https://codereview.chromium.org/1706283002/diff/1/src/full-codegen/full-codegen.cc File src/full-codegen/full-codegen.cc (right): https://codereview.chromium.org/1706283002/diff/1/src/full-codegen/full-codegen.cc#newcode280 src/full-codegen/full-codegen.cc:280: ...
4 years, 10 months ago (2016-02-19 06:52:04 UTC) #2
Michael Starzinger
Thanks. Addressed comments. Will do ports now. https://codereview.chromium.org/1706283002/diff/1/src/full-codegen/full-codegen.cc File src/full-codegen/full-codegen.cc (right): https://codereview.chromium.org/1706283002/diff/1/src/full-codegen/full-codegen.cc#newcode280 src/full-codegen/full-codegen.cc:280: codegen()->OperandStackDepthIncrement(1); On ...
4 years, 10 months ago (2016-02-19 09:24:04 UTC) #3
rossberg
LGTM, thanks!
4 years, 10 months ago (2016-02-19 12:21:17 UTC) #4
Michael Starzinger
PTAL. Jaro, this is ready for final review. Ports done for ARM, ARM64, ia32, MIPS ...
4 years, 10 months ago (2016-02-19 18:16:52 UTC) #6
balazs.kilvady
On 2016/02/19 18:16:52, Michael Starzinger wrote: > PTAL. Jaro, this is ready for final review. ...
4 years, 10 months ago (2016-02-19 18:57:06 UTC) #7
Jarin
Awesome, lgtm! https://codereview.chromium.org/1706283002/diff/140001/src/full-codegen/full-codegen.cc File src/full-codegen/full-codegen.cc (right): https://codereview.chromium.org/1706283002/diff/140001/src/full-codegen/full-codegen.cc#newcode501 src/full-codegen/full-codegen.cc:501: DCHECK_GE(operand_stack_depth_, count); Also check count >= 0?
4 years, 10 months ago (2016-02-20 08:18:28 UTC) #8
Michael Starzinger
Addressed comments. https://codereview.chromium.org/1706283002/diff/140001/src/full-codegen/full-codegen.cc File src/full-codegen/full-codegen.cc (right): https://codereview.chromium.org/1706283002/diff/140001/src/full-codegen/full-codegen.cc#newcode501 src/full-codegen/full-codegen.cc:501: DCHECK_GE(operand_stack_depth_, count); On 2016/02/20 08:18:27, Jarin wrote: ...
4 years, 10 months ago (2016-02-22 09:10:55 UTC) #9
balazs.kilvady
Hi Michael, sorry for late but please find the MIPS64 port at https://codereview.chromium.org/1719003005/
4 years, 10 months ago (2016-02-23 12:41:23 UTC) #10
Michael Starzinger
On 2016/02/23 12:41:23, balazs.kilvady wrote: > Hi Michael, sorry for late but please find the ...
4 years, 10 months ago (2016-02-23 12:58:30 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1706283002/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1706283002/220001
4 years, 10 months ago (2016-02-23 13:39:01 UTC) #14
commit-bot: I haz the power
Committed patchset #12 (id:220001)
4 years, 10 months ago (2016-02-23 13:40:45 UTC) #15
commit-bot: I haz the power
4 years, 10 months ago (2016-02-23 13:41:51 UTC) #17
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/38915ed71c179276a1368ea8442bf88f66f50a4c
Cr-Commit-Position: refs/heads/master@{#34211}

Powered by Google App Engine
This is Rietveld 408576698