summaryrefslogtreecommitdiff
path: root/chapter21/src/main/java/com
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2025-03-23 10:01:32 -0700
committerCliff Click <cliffc@acm.org>2025-03-23 10:01:32 -0700
commite1b6befcfb865e0a8e34d895a0ddc82bf31d6d4b (patch)
tree9f04d7e0512865fc2b117efc7af67124a8cb991f /chapter21/src/main/java/com
parentd333a9001c4f1db159dca8395b5e59c2d2aa92d7 (diff)
downloadSimple-e1b6befcfb865e0a8e34d895a0ddc82bf31d6d4b.tar.gz
Simple-e1b6befcfb865e0a8e34d895a0ddc82bf31d6d4b.zip
Robust pre-encoding
Diffstat (limited to 'chapter21/src/main/java/com')
-rw-r--r--chapter21/src/main/java/com/seaofnodes/simple/print/ASMPrinter.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/chapter21/src/main/java/com/seaofnodes/simple/print/ASMPrinter.java b/chapter21/src/main/java/com/seaofnodes/simple/print/ASMPrinter.java
index efa94b8b..cafa9e56 100644
--- a/chapter21/src/main/java/com/seaofnodes/simple/print/ASMPrinter.java
+++ b/chapter21/src/main/java/com/seaofnodes/simple/print/ASMPrinter.java
@@ -25,7 +25,7 @@ public abstract class ASMPrinter {
// constant pool
Encoding enc = code._encoding;
- if( !enc._bigCons.isEmpty() ) {
+ if( enc!=null && !enc._bigCons.isEmpty() ) {
sb.p("--- Constant Pool ------").nl();
for( Node relo : enc._bigCons.keySet() ) {
Type t = enc._bigCons.get(relo);
@@ -190,7 +190,7 @@ public abstract class ASMPrinter {
sb.nl();
// Printing more op bits than fit
- if( isMultiOp != null ) {
+ if( isMultiOp != null && code._encoding != null ) {
// Multiple ops, template style, no RA, no scheduling. Print out
// one-line-per-newline, with encoding bits up front.
int size = code._encoding._opLen[n._nid];