* src/vm/global.h (java_handle_t): Changed ifdef to use ENABLE_HANDLES.
* src/vmcore/loader.c (load_class_from_classloader): Likewise
* src/mm/cacao-gc/gc.c (gc_init) [ENABLE_HANDLES]: Ifdefed offset check of
indirection cells.
--HG--
branch : exact-gc
dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
dnl 02110-1301, USA.
dnl
-dnl $Id: configure.ac 8321 2007-08-16 11:37:25Z michi $
+dnl $Id: configure.ac 8359 2007-08-20 17:02:14Z michi $
dnl Process this file with autoconf to produce a configure script.
fi
+dnl check for handles (indirection cells) support
+AC_MSG_CHECKING(whether handles (indirection cells) should be enabled)
+AC_ARG_ENABLE([handles],
+ [AS_HELP_STRING(--enable-handles,enable handles (indirection cells) [[default=no]])],
+ [case "${enableval}" in
+ yes) ENABLE_HANDLES=yes;;
+ *) ENABLE_HANDLES=no;;
+ esac],
+ [ENABLE_HANDLES=no])
+AC_MSG_RESULT(${ENABLE_HANDLES})
+AM_CONDITIONAL([ENABLE_HANDLES], test x"${ENABLE_HANDLES}" = "xyes")
+
+if test x"${ENABLE_HANDLES}" = "xyes"; then
+ AC_DEFINE([ENABLE_HANDLES], 1, [enable handles (indirection cells)])
+fi
+
+
dnl check for vmlog support
AC_MSG_CHECKING(whether vmlog tracing should be enabled)
AC_ARG_ENABLE([vmlog],
dolog("GC: Initialising with heap-size %d (max. %d)",
heapstartsize, heapmaxsize);
+#if defined(ENABLE_HANDLES)
/* check our indirection cells */
if (OFFSET(java_handle_t, heap_object) != 0)
vm_abort("gc_init: indirection cell offset is displaced: %d", OFFSET(java_handle_t, heap_object));
if (OFFSET(hashtable_classloader_entry, object) != 0)
vm_abort("gc_init: classloader entry cannot be used as indirection cell: %d", OFFSET(hashtable_classloader_entry, object));
+#endif
/* finalizer stuff */
final_init();
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: global.h 8343 2007-08-17 21:39:32Z michi $
+ $Id: global.h 8359 2007-08-20 17:02:14Z michi $
*/
*******************************************************************************/
-#if defined(ENABLE_GC_CACAO)
+#if defined(ENABLE_HANDLES)
typedef struct java_handle_t {
java_object_t *heap_object;
} java_handle_t;
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: loader.c 8343 2007-08-17 21:39:32Z michi $
+ $Id: loader.c 8359 2007-08-20 17:02:14Z michi $
*/
RT_TIMING_GET_TIME(time_prepare);
-#if defined(ENABLE_GC_CACAO)
+#if defined(ENABLE_HANDLES)
o = vm_call_method(lc, (java_handle_t *) cl, string);
#else
o = vm_call_method(lc, cl->object, string);