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

Issue 3003253002: [vm, aot] Ensure fixups applied after the world has been compiled are applied to closures in finall… (Closed)

Created:
3 years, 4 months ago by rmacnak
Modified:
3 years, 4 months ago
Reviewers:
cbernaschina, siva
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

[vm, aot] Ensure fixups applied after the world has been compiled are applied to closures in finally clauses. Finally clauses are inlined into try and catch blocks. This causes the parser to allocate at least two functions for any closure in a finally cause, only one of which will be registered by the flow graph builder. The unregistered function gets compiled, but the program visitor is unable to iterate it. To fix this, we use both the program visitor and the tree-shaker's work queue to apply fixups. Fixes #30522 R=asiva@google.com, cbernaschina@google.com Committed: https://github.com/dart-lang/sdk/commit/20002d14b1edeadb2c1da26eedf8c32acfab675c

Patch Set 1 #

Total comments: 3

Patch Set 2 : . #

Unified diffs Side-by-side diffs Delta from patch set Stats (+72 lines, -3 lines) Patch
M runtime/vm/precompiler.cc View 1 2 chunks +20 lines, -0 lines 0 comments Download
M runtime/vm/runtime_entry.cc View 7 chunks +14 lines, -3 lines 0 comments Download
A tests/language/vm/unregistered_closure_in_finally_test.dart View 1 chunk +38 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
rmacnak
3 years, 4 months ago (2017-08-23 19:29:46 UTC) #2
cbernaschina
On 2017/08/23 19:29:46, rmacnak wrote: lgtm
3 years, 4 months ago (2017-08-23 19:37:40 UTC) #3
siva
lgtm https://codereview.chromium.org/3003253002/diff/1/runtime/vm/precompiler.cc File runtime/vm/precompiler.cc (right): https://codereview.chromium.org/3003253002/diff/1/runtime/vm/precompiler.cc#newcode2198 runtime/vm/precompiler.cc:2198: // This visit misses closures from duplicated finally ...
3 years, 4 months ago (2017-08-23 20:11:38 UTC) #4
rmacnak
https://codereview.chromium.org/3003253002/diff/1/runtime/vm/precompiler.cc File runtime/vm/precompiler.cc (right): https://codereview.chromium.org/3003253002/diff/1/runtime/vm/precompiler.cc#newcode2198 runtime/vm/precompiler.cc:2198: // This visit misses closures from duplicated finally clauses. ...
3 years, 4 months ago (2017-08-23 23:25:58 UTC) #5
rmacnak
3 years, 4 months ago (2017-08-23 23:42:44 UTC) #7
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
20002d14b1edeadb2c1da26eedf8c32acfab675c.

Powered by Google App Engine
This is Rietveld 408576698