[macruby-changes] [191] MacRuby/trunk/gc.c

source_changes at macosforge.org source_changes at macosforge.org
Sun May 11 13:36:14 PDT 2008


Revision: 191
          http://trac.macosforge.org/projects/ruby/changeset/191
Author:   lsansonetti at apple.com
Date:     2008-05-11 13:36:13 -0700 (Sun, 11 May 2008)

Log Message:
-----------
fixed build

Modified Paths:
--------------
    MacRuby/trunk/gc.c

Modified: MacRuby/trunk/gc.c
===================================================================
--- MacRuby/trunk/gc.c	2008-05-11 00:16:55 UTC (rev 190)
+++ MacRuby/trunk/gc.c	2008-05-11 20:36:13 UTC (rev 191)
@@ -36,7 +36,7 @@
 #endif
 
 #if WITH_OBJC
-# if 1//HAVE_AUTO_ZONE_H
+# if HAVE_AUTO_ZONE_H
 #  include <auto_zone.h>
 # else
 #  include <malloc/malloc.h>
@@ -62,9 +62,14 @@
 	void *);
 extern void *auto_zone_get_associative_ref(auto_zone_t *, void *, void *);
 extern auto_zone_t *auto_zone(void);
+typedef struct auto_zone_cursor *auto_zone_cursor_t;
+typedef void (*auto_zone_foreach_object_t) (auto_zone_cursor_t cursor, 
+    void (*op) (void *ptr, void *data), void* data);
 typedef struct {
     uint32_t unused1;
-    void *unused2;
+    void (*batch_invalidate) (auto_zone_t *zone, 
+	auto_zone_foreach_object_t foreach, auto_zone_cursor_t cursor, 
+	size_t cursor_size);
     void *unused3;
     void *unused4;
     void *unused5;
@@ -2682,8 +2687,8 @@
  */
 
 #if WITH_OBJC
-static void (*old_batch_invalidate)(auto_zone_t *, auto_zone_foreach_object_t, 
-    auto_zone_cursor_t, size_t);
+static void (*old_batch_invalidate)(auto_zone_t *, 
+    auto_zone_foreach_object_t, auto_zone_cursor_t, size_t);
 
 static void
 __rb_objc_finalize(void *obj, void *data)
@@ -2713,17 +2718,21 @@
 Init_PreGC(void)
 {
 #if WITH_OBJC
+    auto_collection_control_t *control;
+
     __auto_zone = auto_zone();
     //auto_zone_register_thread(__auto_zone);
     finalizer_table = st_init_strtable();
     GC_ROOT(&finalizer_table);
-    auto_collection_parameters(__auto_zone)->scan_external_callout = 
+
+    control = auto_collection_parameters(__auto_zone);
+    control->scan_external_callout = 
 	rb_objc_scan_external_callout;
     if (getenv("GC_DEBUG"))
-	auto_collection_parameters(__auto_zone)->log = 
-	    AUTO_LOG_COLLECTIONS | AUTO_LOG_REGIONS | AUTO_LOG_UNUSUAL;
-    old_batch_invalidate = auto_collection_parameters(__auto_zone)->batch_invalidate;
-    auto_collection_parameters(__auto_zone)->batch_invalidate = rb_objc_batch_invalidate;
+	control->log = AUTO_LOG_COLLECTIONS | AUTO_LOG_REGIONS 
+		       | AUTO_LOG_UNUSUAL;
+    old_batch_invalidate = control->batch_invalidate;
+    control->batch_invalidate = rb_objc_batch_invalidate;
 #endif
 }
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080511/3a28663f/attachment.html


More information about the macruby-changes mailing list