Ömer Ağacan
0246c485e0
[dart2wasm] Check types of JS references when boxing JSValues as non-interop types
...
To make sure Dart values with typed data types like `Uint8List`, `List`,
`String` etc. hold the right type of JS values, check types of JS
references in boxing functions that return Dart typed data types.
To reflect what the functions actually do, and for consistency with
other functions, boxing factory names are changed from `fromJSArray` to
`fromRef`.
New boxing functions `fromRefUnchecked` added for the call sites that
already know the reference type to be the right type, for example in
`dartifyRaw`.
These unchecked functions will also be used in CL 424021 where we
replace some `dartifyRaw` calls with more precise "dartify" functions
that only converts when the type is right. (`dartifyRaw` always boxes
the argument regardless of the type)
Issue: https://github.com/dart-lang/sdk/issues/60357
Change-Id: Icdfb49b9b235d35af2af0c4be51b295ee68d99fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/429362
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Ömer Ağacan <omersa@google.com >
2025-05-20 09:38:12 -07:00
..
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-20 09:38:12 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2023-02-14 20:13:57 +00:00
2023-02-14 01:35:05 +00:00
2024-07-30 03:13:58 +00:00
2024-12-13 11:10:26 -08:00
2024-12-13 14:09:46 -08:00
2024-10-11 16:53:52 +00:00
2024-07-30 03:13:58 +00:00
2023-08-09 23:17:18 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2023-01-30 15:58:38 +00:00
2023-10-27 01:36:28 +00:00
2024-11-19 00:59:10 +00:00
2024-10-09 08:38:48 +00:00
2025-05-02 20:17:11 -07:00
2024-10-09 08:38:48 +00:00
2024-11-19 00:59:10 +00:00
2022-09-07 14:49:17 +00:00
2022-09-07 14:49:17 +00:00
2022-09-07 14:49:17 +00:00
2022-09-07 14:49:17 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2024-11-19 00:59:10 +00:00
2024-09-10 15:29:28 +00:00
2024-07-10 01:39:58 +00:00
2024-07-10 01:39:58 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2024-11-19 00:59:10 +00:00
2025-05-02 20:17:11 -07:00
2024-10-11 16:53:52 +00:00
2024-10-11 16:53:52 +00:00
2024-10-11 16:53:52 +00:00
2024-10-11 16:53:52 +00:00
2024-10-11 16:53:52 +00:00
2024-10-11 16:53:52 +00:00
2024-10-11 16:53:52 +00:00
2024-10-11 16:53:52 +00:00
2023-10-25 15:37:50 +00:00
2023-10-25 15:37:50 +00:00
2024-10-11 16:53:52 +00:00
2024-10-11 16:53:52 +00:00
2024-10-11 16:53:52 +00:00
2024-10-11 16:53:52 +00:00
2023-06-07 17:57:26 +00:00
2024-11-19 00:59:10 +00:00
2024-11-19 00:59:10 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2024-11-19 00:59:10 +00:00
2025-05-02 20:17:11 -07:00
2024-01-23 01:26:09 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2024-11-19 00:59:10 +00:00
2025-05-02 20:17:11 -07:00
2024-11-19 00:59:10 +00:00
2025-05-02 20:17:11 -07:00
2024-11-19 00:59:10 +00:00
2024-11-19 00:59:10 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2024-06-12 21:28:23 +00:00
2024-06-12 21:28:23 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2022-04-20 15:24:18 +00:00
2024-11-19 00:59:10 +00:00
2024-11-19 00:59:10 +00:00
2025-05-02 20:17:11 -07:00
2022-07-20 06:04:34 +00:00
2022-07-20 06:04:34 +00:00
2022-07-20 06:04:34 +00:00
2022-07-20 06:04:34 +00:00
2022-05-10 22:56:23 +00:00
2025-03-19 11:54:57 -07:00
2023-10-27 01:36:28 +00:00
2024-11-19 00:59:10 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2024-11-19 00:59:10 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2024-11-19 00:59:10 +00:00
2024-01-23 01:26:09 +00:00
2024-01-23 01:26:09 +00:00
2024-01-23 01:26:09 +00:00
2022-09-07 14:49:17 +00:00
2025-05-02 20:17:11 -07:00
2024-11-19 00:59:10 +00:00
2023-05-25 23:45:25 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-03-19 11:54:57 -07:00
2022-03-09 22:18:27 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2024-01-23 01:26:09 +00:00
2024-11-19 00:59:10 +00:00
2024-12-16 10:01:23 -08:00
2024-11-19 00:59:10 +00:00
2024-11-19 00:59:10 +00:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2025-05-02 20:17:11 -07:00
2022-03-09 22:18:27 +00:00
2024-11-19 00:59:10 +00:00
2025-05-02 20:17:11 -07:00
2025-05-01 14:00:23 -07:00