commit | 6155b8459c6fccc672040ad7490470b935ce7b37 | [log] [tgz] |
---|---|---|
author | Stephen Adams <sra@google.com> | Mon Apr 04 01:17:51 2022 +0000 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Apr 04 01:17:51 2022 +0000 |
tree | a851ce63f1fb4f45ecc812523d5ef8f6310dc7f0 | |
parent | 3bbde68c4ee67e616ff98101546c229b39b52e54 [diff] |
[dart2js] JSArray.clear does not need to check length Calls to non-inlined method are slightly more compact. The error message is better, citing the'clear' method. The argument for `length` does not need to be checked. Change-Id: Ic6341675eba9d851e8003411093a8a90d37baafa Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/235485 Reviewed-by: Mayank Patke <fishythefish@google.com> Commit-Queue: Stephen Adams <sra@google.com>
diff --git a/sdk/lib/_internal/js_runtime/lib/js_array.dart b/sdk/lib/_internal/js_runtime/lib/js_array.dart index dde10ed..1f4ed72 100644 --- a/sdk/lib/_internal/js_runtime/lib/js_array.dart +++ b/sdk/lib/_internal/js_runtime/lib/js_array.dart
@@ -303,8 +303,14 @@ } } + @pragma('dart2js:noInline') void clear() { - length = 0; + checkGrowable('clear'); + _clear(); + } + + void _clear() { + _setLengthUnsafe(0); } void forEach(void f(E element)) {