Added .equiv directives. Need to fix runtime exceptions

master
Sanjar Ahmadov 3 years ago
parent c0e7c2a878
commit 3c4eeb2fdc

@ -1,4 +1,3 @@
<<<<<<< HEAD
# Box integer
addi sp, sp, -8
sw ra, 4(sp)
@ -9,17 +8,4 @@
sw t0, @.__int__(a0)
lw ra, 4(sp)
addi sp, sp, 8
jr ra
=======
addi sp, sp, -8
sw ra, 4(sp)
sw a0, 0(sp)
la a0, $int$prototype
jal ra, alloc
lw t0, 0(sp)
sw t0, @.__int__(a0)
lw ra, 4(sp)
addi sp, sp, 8
jr ra
>>>>>>> origin/bill/merge-cond-cls
jr ra

@ -56,8 +56,12 @@ public class CodeGenImpl extends CodeGenBase
/** A code generator emitting instructions to BACKEND. */
public CodeGenImpl(RiscVBackend backend)
{
super(backend);
backend.defineSym("listHeaderWords", "4");
backend.defineSym("strHeaderWords", "4");
backend.defineSym("bool.True", "const_1");
backend.defineSym("bool.False", "const_0");
}
@ -76,6 +80,7 @@ public class CodeGenImpl extends CodeGenBase
*/
protected void emitTopLevel(List<Stmt> statements)
{
StmtAnalyzer stmtAnalyzer = new StmtAnalyzer(null);
backend.emitADDI(SP, SP, -2 * backend.getWordSize(), "Saved FP and saved RA (unused at top level).");
backend.emitSW(ZERO, SP, 0, "Top saved FP is 0.");
@ -848,7 +853,6 @@ public class CodeGenImpl extends CodeGenBase
* to out-of-bounds error and abort");
*/
protected void emitCustomCode() {
emitStdFunc("concat");
emitStdFunc("conslist");
emitStdFunc("strcat");

Loading…
Cancel
Save