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

Issue 653073002: Fix bug with captured parameters and optimized try-catch. (Closed)

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

Description

Fix captured parameters and optimized try-catch. The stack slots of captured parameters must be skipped when generating sync code in optimized try-catch. Since those parameters are initially copied into the context, their values are not recorded in the environment. Store-to-load forwarding may though use the original initial value from the stack and therefore it must not be overwritten by try-sync code that predeeds every call inside optimized try-blocks. R=srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=41099

Patch Set 1 #

Total comments: 4

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+74 lines, -1 line) Patch
M runtime/vm/flow_graph.h View 2 chunks +5 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph.cc View 2 chunks +11 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler.cc View 1 2 chunks +4 lines, -0 lines 0 comments Download
M runtime/vm/scopes.h View 3 chunks +7 lines, -0 lines 0 comments Download
A tests/language/vm/optimized_await_regress_test.dart View 1 1 chunk +41 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (1 generated)
Florian Schneider
I adapted Mathias repro for a regression test here. I could not repro it without ...
6 years, 2 months ago (2014-10-14 12:39:09 UTC) #2
srdjan
lgtm https://codereview.chromium.org/653073002/diff/1/runtime/vm/flow_graph_compiler.cc File runtime/vm/flow_graph_compiler.cc (right): https://codereview.chromium.org/653073002/diff/1/runtime/vm/flow_graph_compiler.cc#newcode414 runtime/vm/flow_graph_compiler.cc:414: // Don't sync captured parameters. They are not ...
6 years, 2 months ago (2014-10-14 13:45:09 UTC) #3
Florian Schneider
https://codereview.chromium.org/653073002/diff/1/runtime/vm/flow_graph_compiler.cc File runtime/vm/flow_graph_compiler.cc (right): https://codereview.chromium.org/653073002/diff/1/runtime/vm/flow_graph_compiler.cc#newcode414 runtime/vm/flow_graph_compiler.cc:414: // Don't sync captured parameters. They are not the ...
6 years, 2 months ago (2014-10-14 14:44:01 UTC) #4
Florian Schneider
6 years, 2 months ago (2014-10-14 14:48:40 UTC) #5
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as r41099 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698