Skip to content
Snippets Groups Projects
Verified Commit cbfda342 authored by Recolic Keghart's avatar Recolic Keghart
Browse files

[DO NOT BUILD] working on push/pop

parent d2cc5093
No related branches found
No related tags found
No related merge requests found
...@@ -134,11 +134,9 @@ public class CodeGenImpl extends CodeGenBase { ...@@ -134,11 +134,9 @@ public class CodeGenImpl extends CodeGenBase {
if (typ.equals(SymbolType.INT_TYPE)) { if (typ.equals(SymbolType.INT_TYPE)) {
backend.emitLA(A0, intClass.getPrototypeLabel(), "Load prototype address"); backend.emitLA(A0, intClass.getPrototypeLabel(), "Load prototype address");
// save our objReg on stack before `alloc` // save our objReg on stack before `alloc`
backend.emitADDI(SP, SP, -4, "Decrement stack ptr 1"); betterBackend.emitPush(objReg, "Store the literal value");
backend.emitSW(objReg, SP, 0, "Store the literal value");
backend.emitJAL(objectAllocLabel, "Allocate int"); backend.emitJAL(objectAllocLabel, "Allocate int");
backend.emitLW(objReg, SP, 0, "Load literal value again"); betterBackend.emitPop(objReg, "Load literal value again");
backend.emitADDI(SP, SP, 4, "Increment stack ptr 1");
backend.emitSW(objReg, A0, 3 * backend.getWordSize(), "Set __int__ value"); backend.emitSW(objReg, A0, 3 * backend.getWordSize(), "Set __int__ value");
} else if (typ.equals(SymbolType.STR_TYPE)) { } else if (typ.equals(SymbolType.STR_TYPE)) {
// objReg already has a ptr in this case. just move to A0. // objReg already has a ptr in this case. just move to A0.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment