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

Issue 1084413003: Fix an assertion failure in dart2js. (Closed)

Created:
5 years, 8 months ago by Kevin Millikin (Google)
Modified:
5 years, 7 months ago
Reviewers:
asgerf, karlklose
CC:
reviews_dartlang.org
Target Ref:
refs/remotes/git-svn
Visibility:
Public.

Description

Fix an assertion failure in dart2js. In the CPS translation we assert that a mutable variable added to the CPS term belongs to the function currently being compiled, which is reasonable. However, in the JS backend this didn't work as written. The variable element can report that it belongs to a Dart function, and the function currently being compiled can be a synthesized .call method of a closure class representing that Dart function. The solution presented here is to plumb the mapping from Dart function to closure class .call methods through to where the mutable variables are created. It might be better, but a lot more complicated, to make the variable elements able to correctly report their owner after closure conversion. R=asgerf@google.com, karlklose@google.com BUG= Committed: https://code.google.com/p/dart/source/detail?r=45636

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+34 lines, -20 lines) Patch
M pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart View 3 chunks +12 lines, -5 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart View 8 chunks +20 lines, -15 lines 0 comments Download
M pkg/pkg.status View 1 chunk +1 line, -0 lines 1 comment Download
M tests/corelib/corelib.status View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Kevin Millikin (Google)
5 years, 8 months ago (2015-04-22 14:53:11 UTC) #1
Kevin Millikin (Google)
https://codereview.chromium.org/1084413003/diff/1/pkg/pkg.status File pkg/pkg.status (right): https://codereview.chromium.org/1084413003/diff/1/pkg/pkg.status#newcode699 pkg/pkg.status:699: analyzer/test/src/context/context_test: Crash # try/finally I'm not sure why this ...
5 years, 8 months ago (2015-04-22 14:55:46 UTC) #2
karlklose
Would it be possible to push the changes to the JS specific builder completely?
5 years, 7 months ago (2015-04-28 07:56:03 UTC) #3
asgerf
Sorry for the late review. I seems the dependency on the element model has come ...
5 years, 7 months ago (2015-05-04 12:27:24 UTC) #4
Kevin Millikin (Google)
5 years, 7 months ago (2015-05-08 08:58:09 UTC) #5
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as 45636 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698