* configure.ac (static-classpath): Removed.
[cacao.git] / src / vm / jit / sparc64 / patcher.c
index e9467d192a458a845388223da9c84351e8ff2c54..c38b0860ec61bea70bd068306708ae3b517a2e0f 100644 (file)
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: patcher.c 5164 2006-07-19 15:54:01Z twisti $
-
 */
 
 
 #include "config.h"
 
 #include <assert.h>
+#include <stdint.h>
 
 #include "vm/types.h"
 
@@ -55,6 +54,7 @@
 #include "vmcore/references.h"
 #include "vm/resolve.h"
 
+#include "vm/jit/sparc64/solaris/macro_rename.h"
 
 /* patcher_wrapper *************************************************************
 
 
 *******************************************************************************/
 
-java_objectheader *patcher_wrapper(u1 *sp, u1 *pv, u1 *ra)
+java_object_t *patcher_wrapper(u1 *sp, u1 *pv, u1 *ra)
 {
        stackframeinfo     sfi;
        u1                *xpc;
        u1                *javasp;
-       java_objectheader *o;
+       java_object_t *o;
 #if SIZEOF_VOID_P == 8
        u8                mcode;
 #else
@@ -80,7 +80,7 @@ java_objectheader *patcher_wrapper(u1 *sp, u1 *pv, u1 *ra)
 #endif
        functionptr        f;
        bool               result;
-       java_objectheader *e;
+       java_handle_t *e;
        
        /* define the patcher function */
 
@@ -91,7 +91,7 @@ java_objectheader *patcher_wrapper(u1 *sp, u1 *pv, u1 *ra)
        /* get stuff from the stack */
 
        xpc = (u1 *)                *((ptrint *) (sp + 5 * 8));
-       o   = (java_objectheader *) *((ptrint *) (sp + 4 * 8));
+       o   = (java_object_t *) *((ptrint *) (sp + 4 * 8));
        f   = (functionptr)         *((ptrint *) (sp + 0 * 8));
 
        /* store PV into the patcher function position */
@@ -113,6 +113,8 @@ java_objectheader *patcher_wrapper(u1 *sp, u1 *pv, u1 *ra)
 
        /* create the stackframeinfo */
 
+       printf("patcher opening sfi for xpc=%p\n", xpc);
+
        stacktrace_create_extern_stackframeinfo(&sfi, pv, javasp, ra, xpc);
 
        /* call the proper patcher function */
@@ -122,6 +124,7 @@ java_objectheader *patcher_wrapper(u1 *sp, u1 *pv, u1 *ra)
        /* remove the stackframeinfo */
 
        stacktrace_remove_stackframeinfo(&sfi);
+       printf("patcher closing sfi for xpc=%p\n", xpc);
 
        /* check for return value and exit accordingly */
 
@@ -195,7 +198,7 @@ bool patcher_get_putstatic(u1 *sp)
 
        /* patch the field value's address */
 
-       *((ptrint *) (pv + disp)) = (ptrint) &(fi->value);
+       *((intptr_t *) (pv + disp)) = (intptr_t) fi->value;
 
        /* synchronize data cache */
 
@@ -785,7 +788,6 @@ bool patcher_athrow_areturn(u1 *sp)
 
 *******************************************************************************/
 
-#if !defined(WITH_STATIC_CLASSPATH)
 bool patcher_resolve_native(u1 *sp)
 {
        methodinfo  *m;
@@ -816,7 +818,6 @@ bool patcher_resolve_native(u1 *sp)
 
        return true;
 }
-#endif /* !defined(WITH_STATIC_CLASSPATH) */
 
 
 /*