diff --git a/src/pins25/phase/Memory.java b/src/pins25/phase/Memory.java index 3eef7ed..5ac5d1f 100644 --- a/src/pins25/phase/Memory.java +++ b/src/pins25/phase/Memory.java @@ -278,17 +278,22 @@ public class Memory { Vector 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); } diff --git a/zip.sh b/zip.sh index 3a04e80..efa993a 100755 --- a/zip.sh +++ b/zip.sh @@ -7,7 +7,7 @@ mkdir pins25 rsync -av --exclude=".*" ./src ./pins25 mkdir ./pins25/prg cp ./prg/Makefile ./pins25/prg -rm ./pins25/prg/*.pins +rm ./pins25/prg/*.pins25 rm 63230048-"$phase".zip zip -r 63230048-"$phase".zip ./pins25 rm -rf ./pins25