* configure.ac: Checks for --enable-handles and sets define accordingly.
authormichi <none@none>
Mon, 20 Aug 2007 17:02:14 +0000 (17:02 +0000)
committermichi <none@none>
Mon, 20 Aug 2007 17:02:14 +0000 (17:02 +0000)
* 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

configure.ac
src/mm/cacao-gc/gc.c
src/vm/global.h
src/vmcore/loader.c

index b1ade80a8e09ef72dbd3bc93335f763cf7543b43..2db70071921f72f3cca9c6634451a1d9819a8e1d 100644 (file)
@@ -22,7 +22,7 @@ dnl along with this program; if not, write to the Free Software
 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.
 
@@ -481,6 +481,23 @@ if test x"${ENABLE_MEMCHECK}" = "xyes"; then
 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],
index 67ff136a29872fe2ee4d142cc728cd545a6c08e2..754eb36658096c1c8a1d25e2e9ba1683f84ec6ad 100644 (file)
@@ -81,11 +81,13 @@ void gc_init(u4 heapmaxsize, u4 heapstartsize)
                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();
index c256be90c1d4926480de0eaeda3ebf55b2681ec5..2fde322831ff69e08af276cf3e30b51e0e408ace 100644 (file)
@@ -22,7 +22,7 @@
    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 $
 
 */
 
@@ -301,7 +301,7 @@ struct java_objectarray_t {
 
 *******************************************************************************/
 
-#if defined(ENABLE_GC_CACAO)
+#if defined(ENABLE_HANDLES)
 typedef struct java_handle_t {
        java_object_t *heap_object;
 } java_handle_t;
index 4981f74f5c6691f8c694a93e3ef9ed40348f1d35..836e16ca51e0e422f853adbf74bc37694e04ce2a 100644 (file)
@@ -22,7 +22,7 @@
    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 $
 
 */
 
@@ -1140,7 +1140,7 @@ classinfo *load_class_from_classloader(utf *name, classloader *cl)
 
                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);