X-Git-Url: http://git.megacz.com/?p=nestedvm.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fnestedvm%2FClassFileCompiler.java;h=20652b6bda5fcbdad9536fd9fa47c8977bb8aa98;hp=ccf7657e829c38017f2649f9b431492dbbd9e829;hb=7a9bc0ba0fd215bd5b9a2e370937d81870aadba5;hpb=095d6d46361db8b4b69790305c0310ea114d3813 diff --git a/src/org/ibex/nestedvm/ClassFileCompiler.java b/src/org/ibex/nestedvm/ClassFileCompiler.java index ccf7657..20652b6 100644 --- a/src/org/ibex/nestedvm/ClassFileCompiler.java +++ b/src/org/ibex/nestedvm/ClassFileCompiler.java @@ -99,11 +99,31 @@ public class ClassFileCompiler extends Compiler implements CGConst { init.add(INVOKESPECIAL,new MethodRef(me,"",Type.VOID,new Type[]{Type.INT,Type.INT})); init.add(RETURN); + // (Z) + init = cg.addMethod("",Type.VOID,new Type[]{Type.BOOLEAN},ACC_PUBLIC); + init.add(ALOAD_0); + init.add(LDC,pageSize); + init.add(LDC,totalPages); + init.add(ILOAD_1); + init.add(INVOKESPECIAL,new MethodRef(me,"",Type.VOID,new Type[]{Type.INT,Type.INT,Type.BOOLEAN})); + init.add(RETURN); + + // (II) init = cg.addMethod("",Type.VOID,new Type[]{Type.INT,Type.INT},ACC_PUBLIC); init.add(ALOAD_0); init.add(ILOAD_1); init.add(ILOAD_2); - init.add(INVOKESPECIAL,new MethodRef(superClass,"",Type.VOID,new Type[]{Type.INT,Type.INT})); + init.add(ICONST_0); + init.add(INVOKESPECIAL,new MethodRef(me,"",Type.VOID,new Type[]{Type.INT,Type.INT,Type.BOOLEAN})); + init.add(RETURN); + + // (IIZ) + init = cg.addMethod("",Type.VOID,new Type[]{Type.INT,Type.INT,Type.BOOLEAN},ACC_PUBLIC); + init.add(ALOAD_0); + init.add(ILOAD_1); + init.add(ILOAD_2); + init.add(ILOAD_3); + init.add(INVOKESPECIAL,new MethodRef(superClass,"",Type.VOID,new Type[]{Type.INT,Type.INT,Type.BOOLEAN})); if(onePage) { cg.addField("page",Type.arrayType(Type.INT),ACC_PRIVATE|ACC_FINAL);