summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2025-04-17 10:17:32 -0700
committerCliff Click <cliffc@acm.org>2025-04-17 10:17:32 -0700
commit2c8f9a01f5ccdac7e145f171fa95330923521f41 (patch)
tree10147d51ddae7d5e280407b06317e8792346f040
parente8e8335258b85f95f24ac506f770fbdd08f4a083 (diff)
downloadSimple-2c8f9a01f5ccdac7e145f171fa95330923521f41.tar.gz
Simple-2c8f9a01f5ccdac7e145f171fa95330923521f41.zip
Fix arm D_OFFSET
-rw-r--r--chapter21/src/main/java/com/seaofnodes/simple/node/cpus/arm/arm.java2
-rw-r--r--chapter21/src/test/java/com/seaofnodes/simple/EvalArm64.java4
-rw-r--r--chapter21/src/test/java/com/seaofnodes/simple/EvalRisc5.java3
3 files changed, 6 insertions, 3 deletions
diff --git a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/arm/arm.java b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/arm/arm.java
index 1d9d2efe..4a42b117 100644
--- a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/arm/arm.java
+++ b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/arm/arm.java
@@ -28,7 +28,7 @@ public class arm extends Machine {
static final int FLAGS = 64;
static final int MAX_REG = 65;
- public static final int D_OFFSET = 31;
+ public static final int D_OFFSET = 32;
static final String[] REGS = new String[] {
"X0", "X1", "X2", "X3", "X4", "X5", "X6", "X7",
diff --git a/chapter21/src/test/java/com/seaofnodes/simple/EvalArm64.java b/chapter21/src/test/java/com/seaofnodes/simple/EvalArm64.java
index 370745dd..4d0082b9 100644
--- a/chapter21/src/test/java/com/seaofnodes/simple/EvalArm64.java
+++ b/chapter21/src/test/java/com/seaofnodes/simple/EvalArm64.java
@@ -1,5 +1,7 @@
package com.seaofnodes.simple;
+import com.seaofnodes.simple.node.cpus.arm.arm;
+
public class EvalArm64 {
// Memory image, always 0-based
public final byte[] _buf;
@@ -28,7 +30,7 @@ public class EvalArm64 {
regs = new long[32];
fregs = new double[32];
// Stack grows down, heap grows up
- regs[2/*RSP*/] = _heap = stackSize;
+ regs[arm.RSP] = _heap = stackSize;
_pc = 0;
}
diff --git a/chapter21/src/test/java/com/seaofnodes/simple/EvalRisc5.java b/chapter21/src/test/java/com/seaofnodes/simple/EvalRisc5.java
index 7af8eaba..bad22d52 100644
--- a/chapter21/src/test/java/com/seaofnodes/simple/EvalRisc5.java
+++ b/chapter21/src/test/java/com/seaofnodes/simple/EvalRisc5.java
@@ -9,6 +9,7 @@
*/
import com.seaofnodes.simple.codegen.Encoding;
+import com.seaofnodes.simple.node.cpus.riscv.riscv;
import java.util.Arrays;
@@ -35,7 +36,7 @@ import java.util.Arrays;
regs = new long[32];
fregs = new double[32];
// Stack grows down, heap grows up
- regs[2/*RSP*/] = _heap = stackSize;
+ regs[riscv.RSP] = _heap = stackSize;
_pc = 0;
}