update classfilecompiler for new syscall method
authorbrian <brian@brianweb.net>
Fri, 21 May 2004 01:59:13 +0000 (18:59 -0700)
committerbrian <brian@brianweb.net>
Fri, 21 May 2004 01:59:13 +0000 (18:59 -0700)
darcs-hash:20040521015913-24bed-d0541fef3e39568fdc26ed9d0c742a82fbc760de.gz

src/org/ibex/nestedvm/ClassFileCompiler.java
src/org/ibex/nestedvm/JavaSourceCompiler.java

index 1f6ecd4..3df1d4e 100644 (file)
@@ -768,7 +768,9 @@ public class ClassFileCompiler extends Compiler implements org.apache.bcel.Const
                 pushRegZ(R+A1);
                 pushRegZ(R+A2);
                 pushRegZ(R+A3);
-                a(fac.createInvoke(fullClassName,"syscall",Type.INT,new Type[]{Type.INT,Type.INT,Type.INT,Type.INT,Type.INT},INVOKEVIRTUAL));
+                pushRegZ(R+T0);
+                pushRegZ(R+T1);
+                a(fac.createInvoke(fullClassName,"syscall",Type.INT,new Type[]{Type.INT,Type.INT,Type.INT,Type.INT,Type.INT,Type.INT,Type.INT},INVOKEVIRTUAL));
                 setReg();
                 
                 a(InstructionConstants.ALOAD_0);
index f7f2353..103cfa1 100644 (file)
@@ -412,7 +412,7 @@ public class JavaSourceCompiler extends Compiler {
                         break;
                     case 12: // SYSCALL
                         p("pc = " + toHex(pc) + ";");
-                        p( "r"+V0+" = syscall(r"+V0+",r"+A0+",r"+A1+",r"+A2+",r"+A3+");");
+                        p( "r"+V0+" = syscall(r"+V0+",r"+A0+",r"+A1+",r"+A2+",r"+A3+",r"+T0+",r"+T1+");");
                         p("if (state != RUNNING) {");
                             indent++;
                             p("pc = " + toHex(pc+4) + ";");