merge
authorStefan Ring <stefan@complang.tuwien.ac.at>
Wed, 29 Feb 2012 09:10:06 +0000 (10:10 +0100)
committerStefan Ring <stefan@complang.tuwien.ac.at>
Wed, 29 Feb 2012 09:10:06 +0000 (10:10 +0100)
18 files changed:
src/native/jni.cpp
src/vm/jit/abi.h
src/vm/jit/alpha/md-abi.c
src/vm/jit/arm/md-abi.c
src/vm/jit/i386/md-abi.c
src/vm/jit/mips/md-abi.c
src/vm/jit/powerpc/darwin/md-abi.c
src/vm/jit/powerpc/linux/md-abi.c
src/vm/jit/powerpc/netbsd/md-abi.c
src/vm/jit/powerpc64/linux/md-abi.c
src/vm/jit/s390/md-abi.c
src/vm/jit/sparc64/md-abi.c
src/vm/jit/x86_64/asmpart.S
src/vm/jit/x86_64/md-abi.c
tests/regression/jasmin/Makefile.am
tests/regression/jasmin/runtest
tests/regression/native/checkjni.java
tests/regression/native/checkjni.output

index 9a06ab245edff229ea2488bc75953414b521401d..bf1401a65938524be30623e3d156548fbdf9a221 100644 (file)
@@ -1,6 +1,6 @@
 /* src/native/jni.cpp - implementation of the Java Native Interface functions
 
-   Copyright (C) 1996-2011
+   Copyright (C) 1996-2012
    CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
@@ -1425,9 +1425,6 @@ jclass jni_GetObjectClass(JNIEnv *env, jobject obj)
 
        o = (java_handle_t *) obj;
 
-       if ((o == NULL) || (LLNI_vftbl_direct(o) == NULL))
-               return NULL;
-
        LLNI_class_get(o, c);
 
        java_handle_t* h = LLNI_classinfo_wrap(c);
index 2bd0e8b8b3af254500c39153d4ed046741be12eb..291733363f71a72a310063429d3d2bd17ac6cc95 100644 (file)
@@ -93,4 +93,5 @@ void md_return_alloc(jitdata *jd, stackelement_t *stackslot);
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index c968be9862d9c4615c40fa7a83ec2682e56f0970..73530aab9d7bc4668fa38bfd9d599f13521a73a9 100644 (file)
@@ -280,4 +280,5 @@ void md_return_alloc(jitdata *jd, stackelement_t *stackslot)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index c0f00f81a395d33a453e14195e0c2eb20ab3b053..56062a1894887d3f86e84163aa2cc829730ed304 100644 (file)
@@ -414,4 +414,5 @@ void md_return_alloc(jitdata *jd, stackelement_t *stackslot)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index f304686bc70606edb2980a96ee3be4440365bfe5..53c3b3d35e8f99ac936dbdfa605087b58239fc29 100644 (file)
@@ -173,4 +173,5 @@ void md_return_alloc(jitdata *jd, stackelement_t *stackslot)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index da2af84aaae52957cb26bee8dd77ec23638f0339..d20d0d19e90a68dd57a83c9024981050930ad9a7 100644 (file)
@@ -682,4 +682,5 @@ void md_return_alloc(jitdata *jd, stackelement_t *stackslot)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index 35b7c48226739bd39e5160182c64d0b7c21880af..bfb092b398ba61512cdc816031cc568b9c1dc880 100644 (file)
@@ -455,4 +455,5 @@ void md_return_alloc(jitdata *jd, stackelement_t* stackslot)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index 1282c5ee5c6fde83a034834780843aeb6c21507d..184bb07905d5600a490f87a8af80b224060ba6e1 100644 (file)
@@ -468,4 +468,5 @@ void md_return_alloc(jitdata *jd, stackelement_t *stackslot)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index 36dd169c3798aa17a0164944a2f75d2b26f50927..a0d5215d0517a6398c93bf7c91022526fb47f115 100644 (file)
@@ -262,4 +262,5 @@ void md_return_alloc(jitdata *jd, stackelement_t* stackslot)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index e77ff4806166704c44b50e9798bbd3ae402f3407..d5459bb13bcc766271e5325de491344954ca8237 100644 (file)
@@ -339,4 +339,5 @@ void md_return_alloc(jitdata *jd, stackelement_t *stackslot)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index 474b7ff2ac0f0f07f0e5cbe0940483f16cdaf6ae..52bb25a722300cb546284407851b87b6028cfef6 100644 (file)
@@ -325,4 +325,5 @@ void md_return_alloc(jitdata *jd, stackelement_t* stackslot)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index e41cfb5505a7498eb571cbe974e8ad80ded55328..51a53a8fb402f638d1738c0d4678c0b6b7f24240 100644 (file)
@@ -306,4 +306,5 @@ void md_return_alloc(jitdata *jd, stackelement_t* stackslot)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index e72711d14ba9788a007f937a30100bf510d4f696..bfeb1e0fe8f44a5a13750c4689f357f194b87d43 100644 (file)
@@ -1,6 +1,6 @@
 /* src/vm/jit/x86_64/asmpart.S - Java-C interface functions for x86_64
 
-   Copyright (C) 1996-2005, 2006, 2007, 2008
+   Copyright (C) 1996-2012
    CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
@@ -314,12 +314,14 @@ noflt:
 *******************************************************************************/
 
 asm_abstractmethoderror:
+       sub     $8,sp                       /* keep stack aligned                 */
        mov     sp,a0                       /* pass java sp                       */
-       add     $1*8,a0
-       mov     0*8(sp),a1                  /* pass exception address             */
+       add     $2*8,a0
+       mov     1*8(sp),a1                  /* pass exception address             */
        sub     $3,a1
        call    exceptions_asm_new_abstractmethoderror@PLT
                                            /* exception pointer is return value  */
+       pop     xpc                         /* dummy pop                          */
        pop     xpc                         /* get exception address              */
        sub     $3,xpc                      /* exception address is ra - 3        */
        jmp     L_asm_handle_exception
index 10dd05b45d7455b3178fa02b916ecad2da4e6d6f..c250388c777afa2eebdcb49910bd9c3a65576630 100644 (file)
@@ -279,4 +279,5 @@ void md_return_alloc(jitdata *jd, stackelement_t *stackslot)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */
index 25d689f6b66a17777e05503a2d6a3c22ae6f03c8..a7d384d385ec3bf1d4d1034ee072e771cd3ca2ac 100644 (file)
@@ -1,6 +1,6 @@
 ## tests/regression/jasmin/Makefile.am
 ##
-## Copyright (C) 1996-2005, 2006, 2008
+## Copyright (C) 1996-2012
 ## CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 ##
 ## This file is part of CACAO.
@@ -40,7 +40,7 @@ build:
        $(JAVACMD) -cp $(JASMIN_JAR) jasmin.Main $(srcdir)/*.j
 
 run:
-       @LD_LIBRARY_PATH=$(top_builddir)/src/cacao/.libs JAVA="$(top_builddir)/src/cacao/cacao -Xbootclasspath:$(BOOTCLASSPATH)" $(srcdir)/runtest $(srcdir)/*.j
+       JAVACMD="$(JAVACMD)" $(srcdir)/runtest $(srcdir)/*.j
 
 
 ## Local variables:
index 729632210901e918933d292e7d007dfda7020d16..b8a58860de4e8eb5e9a27d3e3d72ad15343b66fe 100755 (executable)
@@ -8,8 +8,8 @@ FAILCOLOR=''
 NOCOLOR=''
 ECHOFLAGS=''
 
-if [ -z "$JAVA" ] ; then
-       JAVA=../../../src/cacao/cacao
+if [ -z "$JAVACMD" ] ; then
+       JAVACMD=../../../src/cacao/cacao
 fi
 
 if [ -z "$TIMEOUT" ] ; then
@@ -44,7 +44,7 @@ if [ "$1" = "--color" ] ; then
        ECHOFLAGS='-e'
 fi
 
-echo "java command: $JAVA $JAVAFLAGS"
+echo "java command: $JAVACMD $JAVAFLAGS"
 
 while [ -n "$1" ]
 do
@@ -72,7 +72,11 @@ do
 
        # run the test
 
-       $TIMEOUTRUN $JAVA $JAVAFLAGS "$TESTBASENAME" >"$TESTOUT" 2>"$TESTERR"
+       if [ -z "$TIMEOUTRUN" ] ; then
+               eval $JAVACMD $JAVAFLAGS "$TESTBASENAME" >"$TESTOUT" 2>"$TESTERR"
+       else
+               $TIMEOUTRUN $JAVACMD $JAVAFLAGS "$TESTBASENAME" >"$TESTOUT" 2>"$TESTERR"
+       fi
        TESTSTATUS=$?
 
        if [ $TESTSTATUS -ne $EXPECTSTATUS ] ; then
@@ -93,7 +97,7 @@ do
                fi
 
                if [ "$VERBOSE" -eq "1" ] ; then
-                       $JAVA $JAVAFLAGS -sia "$TESTBASENAME" >"$TESTLOG" || exit 2
+                       eval $JAVACMD $JAVAFLAGS -sia "$TESTBASENAME" >"$TESTLOG" || exit 2
                        ./show "$TESTLOG"
                fi
        else
@@ -108,7 +112,7 @@ do
        if [ "$CHECKICMD" -ne 0 ] ; then
                rm -f "$TESTSIA"
                touch "$TESTSIA"
-               $JAVA $JAVAFLAGS -sia "$TESTBASENAME" >"$TESTSIA" 2>/dev/null
+               eval $JAVACMD $JAVAFLAGS -sia "$TESTBASENAME" >"$TESTSIA" 2>/dev/null
                cat "$TESTSIA" | sed -n '/^'"$TESTBASENAME"'\.main/,$p' | sed '/^=====.*flags: -1/,$d' | grep "$EXPECTICMD"
        fi
 
index e7de8773390f1f0ea39e5c5127f7a2f0d74aaf27..5cfd2f409a5c01881143ab1f393222294ae885e8 100644 (file)
@@ -1,9 +1,7 @@
 /* src/tests/native/checkjni.java - for testing JNI related stuff
 
-   Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
-   C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
-   E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
-   TU Wien
+   Copyright (C) 1996-2012
+   CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
 
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Contact: cacao@cacaojvm.org
-
-   Authors: Christian Thalinger
-
-   Changes:
-
 */
 
 
@@ -140,7 +132,6 @@ public class checkjni {
 
         equal(GetObjectClass(obj1), clazz1);
         equal(GetObjectClass(obj2), clazz2);
-        equal(GetObjectClass(null), null);
     }
 
        void checkNewString() {
index 41895324628b8db33670e84becd32f107c22067f..0b05c7479607ef6af4b4d1118655fc7c021138d4 100644 (file)
@@ -20,7 +20,6 @@ PASS, java.lang.Exception: Exception from JNI
 GetObjectClass:
 PASS
 PASS
-PASS
 Field Access:
 PASS
 PASS