summaryrefslogtreecommitdiff
path: root/ext/webidl/00_webidl.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/webidl/00_webidl.js
parent39cbaa6d34c249afc4b197836da1fa6dd143cbf9 (diff)
perf(ext,runtime): remove using `SafeArrayIterator` from `for-of` (#17255)
Diffstat (limited to 'ext/webidl/00_webidl.js')
-rw-r--r--ext/webidl/00_webidl.js20
1 files changed, 13 insertions, 7 deletions
diff --git a/ext/webidl/00_webidl.js b/ext/webidl/00_webidl.js
index f38618f13..4f51edfed 100644
--- a/ext/webidl/00_webidl.js
+++ b/ext/webidl/00_webidl.js
@@ -60,7 +60,6 @@
ReflectHas,
ReflectOwnKeys,
RegExpPrototypeTest,
- SafeArrayIterator,
Set,
// TODO(lucacasonato): add SharedArrayBuffer to primordials
// SharedArrayBuffer,
@@ -633,8 +632,10 @@
function createDictionaryConverter(name, ...dictionaries) {
let hasRequiredKey = false;
const allMembers = [];
- for (const members of new SafeArrayIterator(dictionaries)) {
- for (const member of new SafeArrayIterator(members)) {
+ for (let i = 0; i < dictionaries.length; ++i) {
+ const members = dictionaries[i];
+ for (let j = 0; j < members.length; ++j) {
+ const member = members[j];
if (member.required) {
hasRequiredKey = true;
}
@@ -649,7 +650,8 @@
});
const defaultValues = {};
- for (const member of new SafeArrayIterator(allMembers)) {
+ for (let i = 0; i < allMembers.length; ++i) {
+ const member = allMembers[i];
if (ReflectHas(member, "defaultValue")) {
const idlMemberValue = member.defaultValue;
const imvType = typeof idlMemberValue;
@@ -695,7 +697,8 @@
return idlDict;
}
- for (const member of new SafeArrayIterator(allMembers)) {
+ for (let i = 0; i < allMembers.length; ++i) {
+ const member = allMembers[i];
const key = member.key;
let esMemberValue;
@@ -821,7 +824,8 @@
}
// Slow path if Proxy (e.g: in WPT tests)
const keys = ReflectOwnKeys(V);
- for (const key of new SafeArrayIterator(keys)) {
+ for (let i = 0; i < keys.length; ++i) {
+ const key = keys[i];
const desc = ObjectGetOwnPropertyDescriptor(V, key);
if (desc !== undefined && desc.enumerable === true) {
const typedKey = keyConverter(key, opts);
@@ -891,7 +895,9 @@
}
function define(target, source) {
- for (const key of new SafeArrayIterator(ReflectOwnKeys(source))) {
+ const keys = ReflectOwnKeys(source);
+ for (let i = 0; i < keys.length; ++i) {
+ const key = keys[i];
const descriptor = ReflectGetOwnPropertyDescriptor(source, key);
if (descriptor && !ReflectDefineProperty(target, key, descriptor)) {
throw new TypeError(`Cannot redefine property: ${String(key)}`);