From: Ben Sherratt Date: Tue, 30 Jan 2024 18:10:47 +0000 (+0000) Subject: do not evaluate variables until they are used X-Git-Url: https://git.bts.cx/sun.git/commitdiff_plain/a5b6b9ea53d78b2019201a9fb75b763b7d92873c?ds=inline do not evaluate variables until they are used --- diff --git a/runtime/src/sun/compiler/vm_generator.c b/runtime/src/sun/compiler/vm_generator.c index 1e9cff3..0309257 100644 --- a/runtime/src/sun/compiler/vm_generator.c +++ b/runtime/src/sun/compiler/vm_generator.c @@ -1001,26 +1001,26 @@ static size_t generateModuleInstructions(VMGeneratorOutputScope *generator, SLTN generatorPatchOperand(generator, start, 0, address); // then do variables - for (SLTNode *n = node->moduleStatementsAndDefinitions; n != NULL; n = n->sequenceNext) { - switch (n->sequenceNode->type) { - case SLTNodeTypeFunctionDefinition: + //for (SLTNode *n = node->moduleStatementsAndDefinitions; n != NULL; n = n->sequenceNext) { + // switch (n->sequenceNode->type) { + // case SLTNodeTypeFunctionDefinition: // Do nothing... - break; + // break; - case SLTNodeTypeVariableDefinition: - generateStatementInstructions(generator, n->sequenceNode, 0); - break; + //case SLTNodeTypeVariableDefinition: + //generateStatementInstructions(generator, n->sequenceNode, 0); + // break; - default: + // default: //generator_assert_msg(false, "could not define %s", sltNodeTypeToString(n->sequenceNode->type)); - break; - } - } + // break; + // } + //} // statements for (SLTNode *n = node->moduleStatementsAndDefinitions; n != NULL; n = n->sequenceNext) { switch (n->sequenceNode->type) { - case SLTNodeTypeVariableDefinition: + //case SLTNodeTypeVariableDefinition: case SLTNodeTypeTypeDefinition: case SLTNodeTypeFunctionDefinition: // Do nothing...