fix freeing variables bigger than 1

master
Drake 1 year ago
parent b26ec2b687
commit e8e9d30f60

@ -40,8 +40,10 @@ let variableMemoryOffset = {
function getVariableMemoryOffset(varSize: number) {
for (const memoryHole of variableHoles) {
if (varSize <= memoryHole.memorySize) {
const memoryLocation = memoryHole.memoryLocation;
memoryHole.memoryLocation += varSize;
memoryHole.memorySize -= varSize;
return memoryHole.memoryLocation;
return memoryLocation;
}
}
const oldMemoryOffset = variableMemoryOffset.offset;

@ -180,9 +180,6 @@ export default function ExpressionStatement(
const typedNode = expression as swc.AssignmentExpression;
switch (expression.operator) {
case "=": {
const variableInfo = variablesTable[
(expression.left as swc.Identifier).value
];
variableModificationThings.freeVariable(
(expression.left as swc.Identifier).value,
);

Loading…
Cancel
Save