summaryrefslogtreecommitdiff
path: root/runtime/js/99_main.js
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/js/99_main.js')
-rw-r--r--runtime/js/99_main.js6
1 files changed, 4 insertions, 2 deletions
diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js
index 1eb71339f..901cb136f 100644
--- a/runtime/js/99_main.js
+++ b/runtime/js/99_main.js
@@ -19,6 +19,7 @@ delete Intl.v8BreakIterator;
ArrayPrototypeMap,
DateNow,
Error,
+ ErrorPrototype,
FunctionPrototypeCall,
FunctionPrototypeBind,
ObjectAssign,
@@ -32,6 +33,7 @@ delete Intl.v8BreakIterator;
SymbolFor,
SymbolIterator,
PromisePrototypeThen,
+ SafeArrayIterator,
SafeWeakMap,
TypeError,
WeakMapPrototypeDelete,
@@ -204,7 +206,7 @@ delete Intl.v8BreakIterator;
);
loadedMainWorkerScript = true;
- for (const { url, script } of scripts) {
+ for (const { url, script } of new SafeArrayIterator(scripts)) {
const err = core.evalContext(script, url)[1];
if (err !== null) {
throw err.thrown;
@@ -217,7 +219,7 @@ delete Intl.v8BreakIterator;
}
function formatException(error) {
- if (error instanceof Error) {
+ if (ObjectPrototypeIsPrototypeOf(ErrorPrototype, error)) {
return null;
} else if (typeof error == "string") {
return `Uncaught ${