DescriptionClean up handling of constants in the CPS backend.
Before: constant-valued expressions were usually compiled by the JS constant
compiler task, which surprisingly produces a Dart (not JS) constant.
After: use the already computed constant value of a constant-valued
expression. This is looked up in one of two ways depending on whether the
expression is an identifier or not. For primitive constants (Booleans,
doubles, integers, strings, and null) simply construct them as they have not
had a value computed.
Also, fix a variety of small bugs. In some case the fix is disabling an
incorrect code path and bailing out of the compiler.
BUG=
R=johnniwinther@google.com
Committed: https://code.google.com/p/dart/source/detail?r=45335
Patch Set 1 #
Messages
Total messages: 4 (1 generated)
|