[dart2wasm] Fix JSCM convert patch TextDecoder use Change-Id: Ib2de3df8495ab16c172a39627c8d79c1c442ef16 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/336000 Reviewed-by: Aske Simon Christensen <askesc@google.com> Commit-Queue: Ömer Ağacan <omersa@google.com>
diff --git a/sdk/lib/_internal/wasm_js_compatibility/lib/convert_patch.dart b/sdk/lib/_internal/wasm_js_compatibility/lib/convert_patch.dart index cef1d72..f4fd587 100644 --- a/sdk/lib/_internal/wasm_js_compatibility/lib/convert_patch.dart +++ b/sdk/lib/_internal/wasm_js_compatibility/lib/convert_patch.dart
@@ -70,17 +70,12 @@ } if (0 == start && end == codeUnits.length) { - return _useTextDecoder(decoder, codeUnits.toExternRef); + return _useTextDecoder(decoder, codeUnits.toJSArrayExternRef()); } - final length = codeUnits.length; - end = RangeError.checkValidRange(start, end, length); + RangeError.checkValidRange(start, end, codeUnits.length); + final length = end - start; return _useTextDecoder( - decoder, - js.JS<WasmExternRef?>( - '(codeUnits, start, end) => codeUnits.subarray(start, end)', - codeUnits.toExternRef, - start.toDouble, - end.toDouble)); + decoder, codeUnits.toJSArrayExternRef(start, length)); } static String? _useTextDecoder(