X-Git-Url: http://git.megacz.com/?p=org.ibex.classgen.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fclassgen%2FJSSA.java;h=c16f5e607c4122b5f9f3dd8617762ccb3f18fe05;hp=92d31f0b610c3c33d9c11855fe0bf4c8e3d7f163;hb=e2cfb2a90a85bcb7a8f6a6a6a6a8c9e0a3d1d371;hpb=af3a0876a2d5984da9997331710af0b4b4db7c49 diff --git a/src/org/ibex/classgen/JSSA.java b/src/org/ibex/classgen/JSSA.java index 92d31f0..c16f5e6 100644 --- a/src/org/ibex/classgen/JSSA.java +++ b/src/org/ibex/classgen/JSSA.java @@ -73,8 +73,14 @@ public class JSSA extends MethodGen implements CGConst { /** JVM stack pointer */ private int sp = 0; - private Expr push(Expr e) { return stack[sp++] = e; } - private Expr pop() { return stack[--sp]; } + private Expr push(Expr e) { + if(sp == stack.length-1) throw new IllegalStateException("stack overflow"); + return stack[sp++] = e; + } + private Expr pop() { + if(sp == 0) throw new IllegalStateException("stack underflow"); + return stack[--sp]; + } // SSA-node classes /////////////////////////////////////////////////////////////////////////////////////////