diff options
| author | Kenta Moriuchi <moriken@kimamass.com> | 2023-01-06 21:45:23 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-06 21:45:23 +0900 |
| commit | ff89ff4abba39ce158056d390e761495f5a7bc86 (patch) | |
| tree | 03a9c71b5bb3889842db06ed41c3999074c4107a /ext/url | |
| parent | 39cbaa6d34c249afc4b197836da1fa6dd143cbf9 (diff) | |
perf(ext,runtime): remove using `SafeArrayIterator` from `for-of` (#17255)
Diffstat (limited to 'ext/url')
| -rw-r--r-- | ext/url/00_url.js | 8 | ||||
| -rw-r--r-- | ext/url/01_urlpattern.js | 14 |
2 files changed, 15 insertions, 7 deletions
diff --git a/ext/url/00_url.js b/ext/url/00_url.js index cedc241fe..5fa0c52bd 100644 --- a/ext/url/00_url.js +++ b/ext/url/00_url.js @@ -194,7 +194,9 @@ context: "Argument 1", }); const values = []; - for (const entry of new SafeArrayIterator(this[_list])) { + const entries = this[_list]; + for (let i = 0; i < entries.length; ++i) { + const entry = entries[i]; if (entry[0] === name) { ArrayPrototypePush(values, entry[1]); } @@ -214,7 +216,9 @@ prefix, context: "Argument 1", }); - for (const entry of new SafeArrayIterator(this[_list])) { + const entries = this[_list]; + for (let i = 0; i < entries.length; ++i) { + const entry = entries[i]; if (entry[0] === name) { return entry[1]; } diff --git a/ext/url/01_urlpattern.js b/ext/url/01_urlpattern.js index eb05743a3..ef7df60e5 100644 --- a/ext/url/01_urlpattern.js +++ b/ext/url/01_urlpattern.js @@ -20,7 +20,6 @@ RegExp, RegExpPrototypeExec, RegExpPrototypeTest, - SafeArrayIterator, Symbol, SymbolFor, TypeError, @@ -72,7 +71,9 @@ const components = ops.op_urlpattern_parse(input, baseURL); - for (const key of new SafeArrayIterator(ObjectKeys(components))) { + const keys = ObjectKeys(components); + for (let i = 0; i < keys.length; ++i) { + const key = keys[i]; try { components[key].regexp = new RegExp( components[key].regexpString, @@ -156,7 +157,9 @@ const [values] = res; - for (const key of new SafeArrayIterator(ObjectKeys(values))) { + const keys = ObjectKeys(values); + for (let i = 0; i < keys.length; ++i) { + const key = keys[i]; if (!RegExpPrototypeTest(this[_components][key].regexp, values[key])) { return false; } @@ -201,8 +204,9 @@ /** @type {URLPatternResult} */ const result = { inputs }; - /** @type {string} */ - for (const key of new SafeArrayIterator(ObjectKeys(values))) { + const keys = ObjectKeys(values); + for (let i = 0; i < keys.length; ++i) { + const key = keys[i]; /** @type {Component} */ const component = this[_components][key]; const input = values[key]; |
