Fixed string size

This commit is contained in:
Gašper Dobrovoljc
2025-05-11 21:07:32 +02:00
parent 89c84d2cb5
commit 5188e80ee3
2 changed files with 8 additions and 3 deletions

View File

@@ -278,17 +278,22 @@ public class Memory {
Vector<Integer> str = decodeStrConst(init.value, valLoc);
inits.add(str.size());
inits.addAll(str);
size += 4 * str.size() * num;
size += 4 * num;
break;
}
}
if (varDef.inits.size() == 0) {
size = 4;
inits = null;
}
if (frameBuilder == null) {
Mem.AbsAccess access = new Mem.AbsAccess(varDef.name, size, inits);
attrAST.attrVarAccess.put(varDef, access);
} else {
Mem.RelAccess access = new Mem.RelAccess(frameBuilder.varOffset - size, frameBuilder.depth, size, inits, varDef.name);
frameBuilder.varOffset -= inits.size();
frameBuilder.varOffset -= size;
frameBuilder.debugVars.add(access);
attrAST.attrVarAccess.put(varDef, access);
}