Added .equiv directives. Need to fix runtime exceptions
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user