Issue #1691 - Part 3: Finish implementing import meta. https://bugzilla.mozilla.org/show_bug.cgi?id=1427610

(cherry picked from commit a8625238ac846fb7eb103646ddb8634a5860f067)
This commit is contained in:
Brian Smith 2023-04-08 15:01:22 -05:00 committed by roytam1
commit 3f4985ce6c
18 changed files with 207 additions and 9 deletions

View file

@ -33,6 +33,7 @@
#include "jsstr.h"
#include "builtin/Eval.h"
#include "builtin/ModuleObject.h"
#include "jit/AtomicOperations.h"
#include "jit/BaselineJIT.h"
#include "jit/Ion.h"
@ -4187,6 +4188,19 @@ CASE(JSOP_NEWTARGET)
MOZ_ASSERT(REGS.sp[-1].isObject() || REGS.sp[-1].isUndefined());
END_CASE(JSOP_NEWTARGET)
CASE(JSOP_IMPORTMETA)
{
ReservedRooted<JSObject*> module(&rootObject0, GetModuleObjectForScript(script));
MOZ_ASSERT(module);
JSObject* metaObject = GetOrCreateModuleMetaObject(cx, module);
if (!metaObject)
goto error;
PUSH_OBJECT(*metaObject);
}
END_CASE(JSOP_IMPORTMETA)
CASE(JSOP_SUPERFUN)
{
ReservedRooted<JSObject*> superEnvFunc(&rootObject0, &GetSuperEnvFunction(cx, REGS));