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

Issue 149603003: Fix stack height assertion code and free up a bit in the Function tag bits. (Closed)

Created:
6 years, 10 months ago by Florian Schneider
Modified:
6 years, 10 months ago
Reviewers:
srdjan
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Fix stack height assertion code and free up a bit in the Function tag bits. The bit has_finally was only used to skip the checking of the stack height at return statements: There was an unused value floating on top of the expression stack in unoptimized code if the finally block preceded a normal return statement. Normallyi, that does not cause harm. Optimized code is not affected since it has a fixed stack size for expression evaluation. This CL fixes the stack height for functions with try-finally by introducing a temporary local where the return value is saved before an inlined finally-block. R=srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=32157

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+86 lines, -108 lines) Patch
M runtime/vm/ast.h View 4 chunks +15 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 3 chunks +14 lines, -10 lines 0 comments Download
M runtime/vm/flow_graph_compiler.h View 1 chunk +0 lines, -3 lines 0 comments Download
M runtime/vm/flow_graph_compiler.cc View 1 chunk +0 lines, -5 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 1 chunk +10 lines, -16 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 chunk +11 lines, -17 lines 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 1 chunk +10 lines, -16 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 chunk +11 lines, -17 lines 0 comments Download
M runtime/vm/object.h View 3 chunks +3 lines, -10 lines 0 comments Download
M runtime/vm/object.cc View 2 chunks +0 lines, -6 lines 0 comments Download
M runtime/vm/parser.cc View 2 chunks +12 lines, -6 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Florian Schneider
6 years, 10 months ago (2014-01-29 17:24:30 UTC) #1
srdjan
lgtm
6 years, 10 months ago (2014-01-29 19:01:55 UTC) #2
Florian Schneider
6 years, 10 months ago (2014-01-30 12:12:42 UTC) #3
Message was sent while issue was closed.
Committed patchset #1 manually as r32157 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698