Commit Graph

6 Commits

Author SHA1 Message Date
Stephen Adams acf463616e Redo again "[dart2js/js_ast] Escape strings in the printer"
Patchset 1 is original change.

Change-Id: I19832574012af4a81f6d32c8ea46b196b6f306a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/201101
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-06-02 02:05:05 +00:00
Stephen Adams 43b9fca8df Revert "Redo "[dart2js/js_ast] Escape strings in the printer""
This reverts commit 7817468526.

TBR=fishythefish@google.com

Change-Id: I6d1b4864ea483073f636718ac650d13e1f782d0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/201080
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-05-21 22:49:08 +00:00
Stephen Adams 7817468526 Redo "[dart2js/js_ast] Escape strings in the printer"
Fix analyzer diagnostics in js_ast.

- remove unused import
- bump SDK requirements to allow Set literal
- remove unused compareTo method

TBR=fishythefish@google.com

Change-Id: Iabf8d9aeea1d6ceeda1bf85ff7e80914c67c9d63
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200780
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-05-20 05:55:37 +00:00
Stephen Adams 8564caf29a Revert "[dart2js/js_ast] Escape strings in the printer"
Revert while I fix the cbuild errors.

This reverts commit dc92f126e2.

TBR=fishythefish@google.com

Change-Id: I4e3afa19d62bdeecc344bf1a413a2fd3e3a7aca2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200760
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-05-19 23:51:22 +00:00
Stephen Adams dc92f126e2 [dart2js/js_ast] Escape strings in the printer
The old way was for the JavaScript string literals to be pre-escaped.
This was cumbersome since each place that creates a JavaScript string
literal needs to make a decision about whether escaping is needed and
the kind of escaping (UTF8 or ASCII).

This change moves the responsibility for escaping into the js_ast printer.
The escaped text exists only while printing, which reduces the heap in a
large modular compile link scenario by 220MB, since the unescaped string
is in memory anyway.

There were three kinds of escaping - ASCII, UTF8, and 'legacy', if not
specified. This has been reduced to ASCII (default) and UTF8, chosen by
a printer option.


Change-Id: Ic57d8fb70a213d3518244f1a152cd33e54103259
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200400
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2021-05-19 21:32:52 +00:00
Joshua Litt 20faaa5d94 [dart2js] Move dart2js unit tests to pkg/compiler/test.
Change-Id: Ib18f554c1076f27a3f7c0df5a36410da41a1f467
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148784
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-05-28 18:51:11 +00:00