[macruby-changes] [385] MacRuby/branches/lrz_unstable

source_changes at macosforge.org source_changes at macosforge.org
Wed Jul 30 00:47:30 PDT 2008


Revision: 385
          http://trac.macosforge.org/projects/ruby/changeset/385
Author:   lsansonetti at apple.com
Date:     2008-07-30 00:47:29 -0700 (Wed, 30 Jul 2008)
Log Message:
-----------
wip

Modified Paths:
--------------
    MacRuby/branches/lrz_unstable/include/ruby/defines.h
    MacRuby/branches/lrz_unstable/include/ruby/ruby.h
    MacRuby/branches/lrz_unstable/st.c
    MacRuby/branches/lrz_unstable/vm_eval.c

Modified: MacRuby/branches/lrz_unstable/include/ruby/defines.h
===================================================================
--- MacRuby/branches/lrz_unstable/include/ruby/defines.h	2008-07-30 07:26:13 UTC (rev 384)
+++ MacRuby/branches/lrz_unstable/include/ruby/defines.h	2008-07-30 07:47:29 UTC (rev 385)
@@ -296,7 +296,7 @@
 void rb_objc_wb(void *dst, void *newval);
 void rb_objc_wb_range(void *dest, size_t len);
 void rb_objc_root(void *addr);
-# define GC_WB(dst, newval) (rb_objc_wb((void *)dst, (void *)newval))
+# define GC_WB(dst, newval) (SPECIAL_CONST_P(newval) ? *(void **)dst = (void *)newval : rb_objc_wb((void *)dst, (void *)newval))
 # define GC_ROOT(dst) (rb_objc_root((void *)dst))
 # define GC_WEAK(dst) (rb_objc_weak((void *)dst))
 #else

Modified: MacRuby/branches/lrz_unstable/include/ruby/ruby.h
===================================================================
--- MacRuby/branches/lrz_unstable/include/ruby/ruby.h	2008-07-30 07:26:13 UTC (rev 384)
+++ MacRuby/branches/lrz_unstable/include/ruby/ruby.h	2008-07-30 07:47:29 UTC (rev 385)
@@ -780,7 +780,7 @@
 #define FL_REVERSE(x,f) do {if (FL_ABLE(x)) RBASIC(x)->flags ^= (f);} while (0)
 
 #if WITH_OBJC
-# define OBJ_TAINTED(x) (rb_obj_tainted((VALUE)x))
+# define OBJ_TAINTED(x) (SPECIAL_CONST_P(x) || NATIVE(x) ? rb_obj_tainted((VALUE)x) : FL_TEST((x), FL_TAINT))
 # define OBJ_TAINT(x)   (rb_obj_taint((VALUE)x))
 #else
 # define OBJ_TAINTED(x) FL_TEST((x), FL_TAINT)
@@ -790,7 +790,7 @@
 #define OBJ_INFECT(x,s) do {if (FL_ABLE(x) && FL_ABLE(s)) RBASIC(x)->flags |= RBASIC(s)->flags & FL_TAINT;} while (0)
 
 #if WITH_OBJC
-# define OBJ_FROZEN(x) (rb_obj_frozen_p((VALUE)x))
+# define OBJ_FROZEN(x) (SPECIAL_CONST_P(x) || NATIVE(x) ? rb_obj_frozen_p((VALUE)x) : FL_TEST((x), FL_FREEZE))
 # define OBJ_FREEZE(x) (rb_obj_freeze((VALUE)x))
 #else
 # define OBJ_FROZEN(x) FL_TEST((x), FL_FREEZE)

Modified: MacRuby/branches/lrz_unstable/st.c
===================================================================
--- MacRuby/branches/lrz_unstable/st.c	2008-07-30 07:26:13 UTC (rev 384)
+++ MacRuby/branches/lrz_unstable/st.c	2008-07-30 07:47:29 UTC (rev 385)
@@ -9,6 +9,7 @@
 #include "ruby/config.h"
 #include "ruby/defines.h"
 #include "ruby/st.h"
+#include "ruby/ruby.h"
 #endif
 
 #include <stdio.h>

Modified: MacRuby/branches/lrz_unstable/vm_eval.c
===================================================================
--- MacRuby/branches/lrz_unstable/vm_eval.c	2008-07-30 07:26:13 UTC (rev 384)
+++ MacRuby/branches/lrz_unstable/vm_eval.c	2008-07-30 07:47:29 UTC (rev 385)
@@ -200,8 +200,7 @@
     method = rb_objc_method_node(klass, mid, &imp, &sel);    
 
     if (imp != NULL && method == NULL) {
-	printf("OBJC_CALL!\n");
-	assert(1==0);
+	return rb_objc_call(recv, sel, argc, (VALUE *)argv);
     }
     else if (method != NULL) {
 	noex = method->nd_noex;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080730/0909b936/attachment-0001.html 


More information about the macruby-changes mailing list