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

Function fxPrepareMachine

xs/sources/xsAPI.c:1740–1770  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1738}
1739
1740txMachine* fxPrepareMachine(txCreation* creation, txPreparation* preparation, txString name, void* context, void* archive)
1741{
1742 txMachine _root;
1743 txMachine* root = &_root;
1744 if ((preparation->version[0] != XS_MAJOR_VERSION) || (preparation->version[1] != XS_MINOR_VERSION))
1745 return C_NULL;
1746 c_memset(root, 0, sizeof(txMachine));
1747 root->preparation = preparation;
1748 root->keyArray = preparation->keys;
1749 root->colors = preparation->colors;
1750 root->keyCount = (txID)preparation->keyCount + (txID)preparation->creation.initialKeyCount;
1751 root->keyIndex = (txID)preparation->keyCount;
1752 root->nameModulo = preparation->nameModulo;
1753 root->nameTable = preparation->names;
1754 root->symbolModulo = preparation->symbolModulo;
1755 root->symbolTable = preparation->symbols;
1756
1757 root->stack = &preparation->stack[0];
1758 root->stackBottom = &preparation->stack[0];
1759 root->stackTop = &preparation->stack[preparation->stackCount];
1760
1761 root->firstHeap = &preparation->heap[0];
1762 root->freeHeap = &preparation->heap[preparation->heapCount - 1];
1763 root->aliasCount = (txID)preparation->aliasCount;
1764
1765 root->profileID = (txID)preparation->profileID;
1766
1767 if (!creation)
1768 creation = &preparation->creation;
1769 return fxCloneMachine(creation, root, name, context);
1770}
1771
1772void fxShareMachine(txMachine* the)
1773{

Callers 2

mainFunction · 0.85
fxWorkerInitializeFunction · 0.85

Calls 1

fxCloneMachineFunction · 0.85

Tested by

no test coverage detected