Chromium Code Reviews
DescriptionMake the mutable variables local to an IR builder instead of global.
When translating a try block, variables become mutable on entry and stop
being mutable on exit. Make the set of set of mutable variables local to an
IR builder instead of global for a whole function, so that the translation
does not depend so heavily on the order of visiting subparts of the input.
Since JS code can have mutable variables (i.e., not boxed in the heap), move
them to the backend-independent IR builder state. This fixes a bug in the
JS translation of try-catch where the environment would contain duplicated
bindings for mutable variables. The right binding happened to 'win' so it
was not observable other than an assertion failure.
BUG=
R=asgerf@google.com
Committed: https://code.google.com/p/dart/source/detail?r=45272
Committed: https://code.google.com/p/dart/source/detail?r=45279
Patch Set 1 #
Total comments: 1
Patch Set 2 : A pair of bug fixes. #
Total comments: 2
Messages
Total messages: 7 (1 generated)
|