diff options
Diffstat (limited to 'chapter19/src/main/java/com/seaofnodes')
| -rw-r--r-- | chapter19/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/x86_64_v2.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/chapter19/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/x86_64_v2.java b/chapter19/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/x86_64_v2.java index e7e0b874..1b14bcf1 100644 --- a/chapter19/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/x86_64_v2.java +++ b/chapter19/src/main/java/com/seaofnodes/simple/node/cpus/x86_64_v2/x86_64_v2.java @@ -430,7 +430,7 @@ public class x86_64_v2 extends Machine { } private int imm( Node xval ) { assert val==null && imm==0; - if( xval instanceof ConstantNode con && con._con instanceof TypeInteger ti ) { + if( xval instanceof ConstantNode con && con._con instanceof TypeInteger ti && ti.isConstant() && (int)ti.value()==ti.value() ) { val = null; imm = (int)ti.value(); assert imm == ti.value(); // In 32-bit range |
