diff options
author | Brian Jones <cbj@gnu.org> | 1998-06-20 22:19:43 +0000 |
---|---|---|
committer | Brian Jones <cbj@gnu.org> | 1998-06-20 22:19:43 +0000 |
commit | 9b63dbdad4eb831024095ce0b174885d73ab9c50 (patch) | |
tree | a83e002175c68d7792c5a5d6861ddde249647f1a /testsuite/java.opstack | |
parent | e903e6b200bf23405534d442cfd0f85e4208479f (diff) | |
download | classpath-9b63dbdad4eb831024095ce0b174885d73ab9c50.tar.gz |
initial checkin
Diffstat (limited to 'testsuite/java.opstack')
-rw-r--r-- | testsuite/java.opstack/LeftBehind.j | 64 | ||||
-rw-r--r-- | testsuite/java.opstack/execute.exp | 7 |
2 files changed, 71 insertions, 0 deletions
diff --git a/testsuite/java.opstack/LeftBehind.j b/testsuite/java.opstack/LeftBehind.j new file mode 100644 index 000000000..30a82c4b3 --- /dev/null +++ b/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/testsuite/java.opstack/execute.exp b/testsuite/java.opstack/execute.exp new file mode 100644 index 000000000..1092485c0 --- /dev/null +++ b/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 |