diff options
Diffstat (limited to 'libjava/classpath/testsuite/java.opstack')
-rw-r--r-- | libjava/classpath/testsuite/java.opstack/LeftBehind.j | 64 | ||||
-rw-r--r-- | libjava/classpath/testsuite/java.opstack/execute.exp | 7 |
2 files changed, 71 insertions, 0 deletions
diff --git a/libjava/classpath/testsuite/java.opstack/LeftBehind.j b/libjava/classpath/testsuite/java.opstack/LeftBehind.j new file mode 100644 index 00000000000..30a82c4b316 --- /dev/null +++ b/libjava/classpath/testsuite/java.opstack/LeftBehind.j @@ -0,0 +1,64 @@ +; +; LeftBehind.j - contrived test to see how japhar reacts to +; stuff left on the stack after a method returns. +.class public LeftBehind +.super java/lang/Object + +.method public static test()I + .limit stack 10 ; up to 10 items can be pushed + + ; push some ints. + bipush 1 + bipush 2 + bipush 3 + bipush 4 + bipush 5 + ; then push some strings. + ldc "6th item" + ldc "7th item" + + bipush 5 + + ; now push our return value + bipush 9 + + ireturn +.end method + +.method public static main([Ljava/lang/String;)V + .limit stack 3 ; up to three items can be pushed + + ; we push a value onto the stack, and + ; then check to see that only one item (the return + ; value from the test() method) is on the stack on top + ; of it. + bipush 8 + + invokestatic LeftBehind/test()I + + pop ; get rid of the return value + bipush 8 + isub + + ifeq pass + +fail: + ; push System.out onto the stack + getstatic java/lang/System/out Ljava/io/PrintStream; + + ldc "FAILED:" + + invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V + bipush 0 + invokestatic java/lang/System/exit(I)V + +pass: + ; push System.out onto the stack + getstatic java/lang/System/out Ljava/io/PrintStream; + + ldc "PASSED:" + + invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V + bipush 0 + invokestatic java/lang/System/exit(I)V +.end method diff --git a/libjava/classpath/testsuite/java.opstack/execute.exp b/libjava/classpath/testsuite/java.opstack/execute.exp new file mode 100644 index 00000000000..1092485c088 --- /dev/null +++ b/libjava/classpath/testsuite/java.opstack/execute.exp @@ -0,0 +1,7 @@ +# +# Author: Petter Reinholdtsen <pere@td.org.uit.no> + +# Load support procs +load_lib java.exp + +test-java-source |