[前][次][番号順一覧][スレッド一覧]

ruby-changes:1950

From: ko1@a...
Date: 14 Sep 2007 16:17:40 +0900
Subject: [ruby-changes:1950] ko1 - Ruby:r13441 (trunk): * vm.h, eval_intern.h: move some macros to eval_intern.h.

ko1	2007-09-14 16:17:17 +0900 (Fri, 14 Sep 2007)

  New Revision: 13441

  Modified files:
    trunk/ChangeLog
    trunk/eval.c
    trunk/eval_intern.h
    trunk/eval_jump.ci
    trunk/vm.h

  Log:
    * vm.h, eval_intern.h: move some macros to eval_intern.h.
    * eval_jump.ci (rb_f_throw): fix to use NEW_THROW_OBJECT().
    * eval.c (rb_f_loop): remove additional macro.
    


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/vm.h?r1=13441&r2=13440
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13441&r2=13440
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/eval.c?r1=13441&r2=13440
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/eval_jump.ci?r1=13441&r2=13440
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/eval_intern.h?r1=13441&r2=13440

Index: eval_intern.h
===================================================================
--- eval_intern.h	(revision 13440)
+++ eval_intern.h	(revision 13441)
@@ -162,10 +162,19 @@
 #define TAG_RAISE	0x6
 #define TAG_THROW	0x7
 #define TAG_FATAL	0x8
-#define TAG_CONTCALL	0x9
-#define TAG_THREAD	0xa
 #define TAG_MASK	0xf
 
+#define NEW_THROW_OBJECT(val, pt, st) \
+  ((VALUE)NEW_NODE(NODE_LIT, (val), (pt), (st)))
+#define SET_THROWOBJ_CATCH_POINT(obj, val) \
+  (RNODE((obj))->u2.value = (val))
+#define SET_THROWOBJ_STATE(obj, val) \
+  (RNODE((obj))->u3.value = (val))
+
+#define GET_THROWOBJ_VAL(obj)         ((VALUE)RNODE((obj))->u1.value)
+#define GET_THROWOBJ_CATCH_POINT(obj) ((VALUE*)RNODE((obj))->u2.value)
+#define GET_THROWOBJ_STATE(obj)       ((int)RNODE((obj))->u3.value)
+
 #define SCOPE_TEST(f) \
   (ruby_cref()->nd_visi & (f))
 
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 13440)
+++ ChangeLog	(revision 13441)
@@ -1,3 +1,11 @@
+Fri Sep 14 16:14:28 2007  Koichi Sasada  <ko1@a...>
+
+	* vm.h, eval_intern.h: move some macros to eval_intern.h.
+
+	* eval_jump.ci (rb_f_throw): fix to use NEW_THROW_OBJECT().
+
+	* eval.c (rb_f_loop): remove additional macro.
+
 Fri Sep 14 16:12:10 2007  Koichi Sasada  <ko1@a...>
 
 	* insnhelper.ci (vm_expandarray): should be volatile value for GC.
Index: eval_jump.ci
===================================================================
--- eval_jump.ci	(revision 13440)
+++ eval_jump.ci	(revision 13441)
@@ -39,7 +39,7 @@
 	rb_raise(rb_eArgError, "uncaught throw %s", RSTRING_PTR(desc));
     }
     rb_trap_restore_mask();
-    th->errinfo = (VALUE)rb_node_newnode(NODE_MEMO, tag, 0, TAG_THROW);
+    th->errinfo = NEW_THROW_OBJECT(tag, 0, TAG_THROW);
 
     JUMP_TAG(TAG_THROW);
 #ifndef __GNUC__
Index: eval.c
===================================================================
--- eval.c	(revision 13440)
+++ eval.c	(revision 13441)
@@ -980,8 +980,6 @@
     return Qnil;		/* dummy */
 }
 
-#define GET_THROWOBJ_CATCH_POINT(obj) ((VALUE*)RNODE((obj))->u2.value)
-
 VALUE
 rb_iterate(VALUE (*it_proc) (VALUE), VALUE data1,
 	   VALUE (*bl_proc) (ANYARGS), VALUE data2)
Index: vm.h
===================================================================
--- vm.h	(revision 13440)
+++ vm.h	(revision 13441)
@@ -252,20 +252,6 @@
 #define RUBYVM_CFUNC_FRAME_P(cfp) \
   (VM_FRAME_TYPE(cfp) == FRAME_MAGIC_CFUNC)
 
-/*
- * Excception
- */
-
-#define NEW_THROW_OBJECT(val, pt, st) NEW_NODE(NODE_LIT, (val), (pt), (st))
-#define GET_THROWOBJ_VAL(obj)         ((VALUE)RNODE((obj))->u1.value)
-#define GET_THROWOBJ_CATCH_POINT(obj) ((VALUE*)RNODE((obj))->u2.value)
-#define GET_THROWOBJ_STATE(obj)       ((int)RNODE((obj))->u3.value)
-
-#define SET_THROWOBJ_CATCH_POINT(obj, val) \
-  (RNODE((obj))->u2.value = (val))
-#define SET_THROWOBJ_STATE(obj, val) \
-  (RNODE((obj))->u3.value = (val))
-
 #if OPT_CALL_THREADED_CODE
 #define THROW_EXCEPTION(exc) do { \
     th->errinfo = (VALUE)(exc); \

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧]