[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)) {