From c2dbd396024d4ecf21747c16f410fa31a1dfdf91 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Wed, 26 Mar 2025 14:42:40 -0700 Subject: more portable --- .../main/java/com/seaofnodes/simple/node/cpus/riscv/BranchRISC.java | 5 ++++- .../src/main/java/com/seaofnodes/simple/node/cpus/riscv/IntRISC.java | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'chapter21/src/main/java/com') diff --git a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/BranchRISC.java b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/BranchRISC.java index c9e7a5b5..a0a4b6aa 100644 --- a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/BranchRISC.java +++ b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/BranchRISC.java @@ -29,7 +29,10 @@ public class BranchRISC extends IfNode implements MachNode, RIPRelSize { } @Override public StringBuilder _print1(StringBuilder sb, BitSet visited) { - in(1)._print0(sb.append("if( "),visited).append(_bop); + sb.append("if( "); + if( in(1)==null ) sb.append("0"); + else in(1)._print0(sb,visited); + sb.append(_bop); if( in(2)==null ) sb.append("0"); else in(2)._print0(sb,visited); return sb.append(" )"); diff --git a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/IntRISC.java b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/IntRISC.java index 1378d0f9..fbe8c984 100644 --- a/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/IntRISC.java +++ b/chapter21/src/main/java/com/seaofnodes/simple/node/cpus/riscv/IntRISC.java @@ -9,8 +9,7 @@ import com.seaofnodes.simple.type.TypeInteger; // 12-bit integer constant. Larger constants are made up in the instruction // selection by adding with a LUI. public class IntRISC extends ConstantNode implements MachNode { - IntRISC(ConstantNode con) { super(con); } - public IntRISC(TypeInteger con) { super(con); } + public IntRISC(ConstantNode con) { super(con); } @Override public String op() { return "ldi"; } @Override public RegMask regmap(int i) { return null; } @Override public RegMask outregmap() { return riscv.WMASK; } -- cgit v1.2.3