summaryrefslogtreecommitdiff
path: root/ext/web/09_file.js
diff options
context:
space:
mode:
authorKenta Moriuchi <moriken@kimamass.com>2023-01-06 21:45:23 +0900
committerGitHub <noreply@github.com>2023-01-06 21:45:23 +0900
commitff89ff4abba39ce158056d390e761495f5a7bc86 (patch)
tree03a9c71b5bb3889842db06ed41c3999074c4107a /ext/web/09_file.js
parent39cbaa6d34c249afc4b197836da1fa6dd143cbf9 (diff)
perf(ext,runtime): remove using `SafeArrayIterator` from `for-of` (#17255)
Diffstat (limited to 'ext/web/09_file.js')
-rw-r--r--ext/web/09_file.js19
1 files changed, 12 insertions, 7 deletions
diff --git a/ext/web/09_file.js b/ext/web/09_file.js
index 92de61e1f..f789a24d2 100644
--- a/ext/web/09_file.js
+++ b/ext/web/09_file.js
@@ -26,7 +26,6 @@
MathMin,
ObjectPrototypeIsPrototypeOf,
RegExpPrototypeTest,
- SafeArrayIterator,
StringPrototypeCharAt,
StringPrototypeToLowerCase,
StringPrototypeSlice,
@@ -95,8 +94,8 @@
/** @param {(BlobReference | Blob)[]} parts */
async function* toIterator(parts) {
- for (const part of new SafeArrayIterator(parts)) {
- yield* part.stream();
+ for (let i = 0; i < parts.length; ++i) {
+ yield* parts[i].stream();
}
}
@@ -111,7 +110,8 @@
/** @type {(BlobReference|Blob)[]} */
const processedParts = [];
let size = 0;
- for (const element of new SafeArrayIterator(parts)) {
+ for (let i = 0; i < parts.length; ++i) {
+ const element = parts[i];
if (ObjectPrototypeIsPrototypeOf(ArrayBufferPrototype, element)) {
const chunk = new Uint8Array(ArrayBufferPrototypeSlice(element, 0));
ArrayPrototypePush(processedParts, BlobReference.fromUint8Array(chunk));
@@ -159,7 +159,9 @@
* @returns {string[]}
*/
function getParts(blob, bag = []) {
- for (const part of new SafeArrayIterator(blob[_parts])) {
+ const parts = blob[_parts];
+ for (let i = 0; i < parts.length; ++i) {
+ const part = parts[i];
if (ObjectPrototypeIsPrototypeOf(BlobPrototype, part)) {
getParts(part, bag);
} else {
@@ -276,7 +278,9 @@
const blobParts = [];
let added = 0;
- for (const part of new SafeArrayIterator(this[_parts])) {
+ const parts = this[_parts];
+ for (let i = 0; i < parts.length; ++i) {
+ const part = parts[i];
// don't add the overflow to new blobParts
if (added >= span) {
// Could maybe be possible to remove variable `added`
@@ -600,7 +604,8 @@
const parts = [];
let totalSize = 0;
- for (const { uuid, size } of new SafeArrayIterator(blobData.parts)) {
+ for (let i = 0; i < blobData.parts.length; ++i) {
+ const { uuid, size } = blobData.parts[i];
ArrayPrototypePush(parts, new BlobReference(uuid, size));
totalSize += size;
}