MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / fxNewRealmInstance

Function fxNewRealmInstance

xs/sources/xsType.c:1468–1508  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1466
1467
1468txSlot* fxNewRealmInstance(txMachine* the)
1469{
1470 txSlot* parent = the->stack + 9;
1471 txSlot* global = the->stack + 8;
1472 txSlot* moduleMap = the->stack + 7;
1473 txSlot* own = the->stack + 6;
1474 txSlot* closures = the->stack + 5;
1475 txSlot* resolveHook = the->stack + 4;
1476 txSlot* moduleMapHook = the->stack + 3;
1477 txSlot* loadHook = the->stack + 2;
1478 txSlot* loadNowHook = the->stack + 1;
1479 txSlot* importMetaHook = the->stack;
1480 txSlot* realm = fxNewInstance(the);
1481 txSlot* slot;
1482 /* mxRealmGlobal */
1483 slot = fxNextSlotProperty(the, realm, global, XS_NO_ID, XS_GET_ONLY);
1484 /* mxRealmClosures */
1485 slot = fxNextSlotProperty(the, slot, closures, XS_NO_ID, XS_GET_ONLY);
1486 /* mxRealmTemplateCache */
1487 slot = fxNextReferenceProperty(the, slot, fxNewInstance(the), XS_NO_ID, XS_GET_ONLY);
1488 mxPop();
1489 /* mxOwnModules */
1490 slot = fxNextSlotProperty(the, slot, own, XS_NO_ID, XS_GET_ONLY);
1491 /* mxResolveHook */
1492 slot = fxNextSlotProperty(the, slot, resolveHook, XS_NO_ID, XS_GET_ONLY);
1493 /* mxModuleMap */
1494 slot = fxNextSlotProperty(the, slot, moduleMap, XS_NO_ID, XS_GET_ONLY);
1495 /* mxModuleMapHook */
1496 slot = fxNextSlotProperty(the, slot, moduleMapHook, XS_NO_ID, XS_GET_ONLY);
1497 /* mxLoadHook */
1498 slot = fxNextSlotProperty(the, slot, loadHook, XS_NO_ID, XS_GET_ONLY);
1499 /* mxLoadNowHook */
1500 slot = fxNextSlotProperty(the, slot, loadNowHook, XS_NO_ID, XS_GET_ONLY);
1501 /* mxImportMetaHook */
1502 slot = fxNextSlotProperty(the, slot, importMetaHook, XS_NO_ID, XS_GET_ONLY);
1503 /* mxRealmParent */
1504 slot = fxNextSlotProperty(the, slot, parent, XS_NO_ID, XS_GET_ONLY);
1505 parent->value.reference = realm;
1506 the->stack = parent;
1507 return realm;
1508}
1509
1510txSlot* fxNewProgramInstance(txMachine* the)
1511{

Callers 3

fx_CompartmentFunction · 0.85
fxCreateMachineFunction · 0.85
fxCloneMachineFunction · 0.85

Calls 3

fxNewInstanceFunction · 0.85
fxNextSlotPropertyFunction · 0.85
fxNextReferencePropertyFunction · 0.85

Tested by

no test coverage detected