summaryrefslogtreecommitdiff
path: root/chapter21/src/main/java/com
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2025-04-05 10:04:42 -0700
committerCliff Click <cliffc@acm.org>2025-04-05 10:04:42 -0700
commit631b699a4cf65f6c91a24df49329bb285aec09fc (patch)
treec0f881a06a3f833f2fa58c923828b77a308dfa0c /chapter21/src/main/java/com
parent3016c9fcf8361cb1a0c494dbb7b997df33df5728 (diff)
downloadSimple-631b699a4cf65f6c91a24df49329bb285aec09fc.tar.gz
Simple-631b699a4cf65f6c91a24df49329bb285aec09fc.zip
Move PORTS into CodeGen
Diffstat (limited to 'chapter21/src/main/java/com')
-rw-r--r--chapter21/src/main/java/com/seaofnodes/simple/codegen/CodeGen.java4
-rw-r--r--chapter21/src/main/java/com/seaofnodes/simple/codegen/ElfFile.java3
2 files changed, 5 insertions, 2 deletions
diff --git a/chapter21/src/main/java/com/seaofnodes/simple/codegen/CodeGen.java b/chapter21/src/main/java/com/seaofnodes/simple/codegen/CodeGen.java
index 43501a9b..32c41b16 100644
--- a/chapter21/src/main/java/com/seaofnodes/simple/codegen/CodeGen.java
+++ b/chapter21/src/main/java/com/seaofnodes/simple/codegen/CodeGen.java
@@ -12,6 +12,7 @@ import java.util.IdentityHashMap;
@SuppressWarnings("unchecked")
public class CodeGen {
+ public static final String PORTS = "com.seaofnodes.simple.node.cpus";
// Last created CodeGen as a global; used all over to avoid passing about a
// "context".
public static CodeGen CODE;
@@ -181,7 +182,8 @@ public class CodeGen {
// Convert to target hardware nodes
public int _tInsSel;
- public CodeGen instSelect( String base, String cpu, String callingConv ) {
+ public CodeGen instSelect( String cpu, String callingConv ) { return instSelect(cpu,callingConv,PORTS); }
+ public CodeGen instSelect( String cpu, String callingConv, String base ) {
assert _phase.ordinal() <= Phase.TypeCheck.ordinal();
_phase = Phase.InstSelect;
diff --git a/chapter21/src/main/java/com/seaofnodes/simple/codegen/ElfFile.java b/chapter21/src/main/java/com/seaofnodes/simple/codegen/ElfFile.java
index 32fd99a8..6aed0fae 100644
--- a/chapter21/src/main/java/com/seaofnodes/simple/codegen/ElfFile.java
+++ b/chapter21/src/main/java/com/seaofnodes/simple/codegen/ElfFile.java
@@ -351,7 +351,8 @@ public class ElfFile {
assert out.position() == size;
File file = new File(fname);
- file.getParentFile().mkdirs();
+ if( file.getParentFile()!=null )
+ file.getParentFile().mkdirs();
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
bos.write(out.array());
bos.close();