Fixed string size

This commit is contained in:
Gašper Dobrovoljc 2025-05-11 21:07:32 +02:00
parent 89c84d2cb5
commit 5188e80ee3
No known key found for this signature in database
GPG Key ID: 0E7E037018CFA5A5
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); Vector<Integer> str = decodeStrConst(init.value, valLoc);
inits.add(str.size()); inits.add(str.size());
inits.addAll(str); inits.addAll(str);
size += 4 * str.size() * num; size += 4 * num;
break; break;
} }
} }
if (varDef.inits.size() == 0) {
size = 4;
inits = null;
}
if (frameBuilder == null) { if (frameBuilder == null) {
Mem.AbsAccess access = new Mem.AbsAccess(varDef.name, size, inits); Mem.AbsAccess access = new Mem.AbsAccess(varDef.name, size, inits);
attrAST.attrVarAccess.put(varDef, access); attrAST.attrVarAccess.put(varDef, access);
} else { } else {
Mem.RelAccess access = new Mem.RelAccess(frameBuilder.varOffset - size, frameBuilder.depth, size, inits, varDef.name); 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); frameBuilder.debugVars.add(access);
attrAST.attrVarAccess.put(varDef, access); attrAST.attrVarAccess.put(varDef, access);
} }

2
zip.sh
View File

@ -7,7 +7,7 @@ mkdir pins25
rsync -av --exclude=".*" ./src ./pins25 rsync -av --exclude=".*" ./src ./pins25
mkdir ./pins25/prg mkdir ./pins25/prg
cp ./prg/Makefile ./pins25/prg cp ./prg/Makefile ./pins25/prg
rm ./pins25/prg/*.pins rm ./pins25/prg/*.pins25
rm 63230048-"$phase".zip rm 63230048-"$phase".zip
zip -r 63230048-"$phase".zip ./pins25 zip -r 63230048-"$phase".zip ./pins25
rm -rf ./pins25 rm -rf ./pins25