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

ruby-changes:11700

From: yugui <ko1@a...>
Date: Mon, 4 May 2009 21:47:51 +0900 (JST)
Subject: [ruby-changes:11700] Ruby:r23342 (ruby_1_9_1): merges r23210 from trunk into ruby_1_9_1.

yugui	2009-05-04 21:31:23 +0900 (Mon, 04 May 2009)

  New Revision: 23342

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23342

  Log:
    merges r23210 from trunk into ruby_1_9_1.
    --
    * eval.c (ruby_cleanup): the order of local variables on stack is
      undefined.  should use outermost VALUE for ruby_init_stack.

  Modified files:
    branches/ruby_1_9_1/ChangeLog
    branches/ruby_1_9_1/common.mk
    branches/ruby_1_9_1/eval.c

Index: ruby_1_9_1/ChangeLog
===================================================================
--- ruby_1_9_1/ChangeLog	(revision 23341)
+++ ruby_1_9_1/ChangeLog	(revision 23342)
@@ -1,3 +1,8 @@
+Sun Apr 19 14:43:18 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* eval.c (ruby_cleanup): the order of local variables on stack is
+	  undefined.  should use outermost VALUE for ruby_init_stack.
+
 Mon Apr 13 11:35:55 2009  NARUSE, Yui  <naruse@r...>
 
 	* sprintf.c (rb_str_format): optimize previous commit.
Index: ruby_1_9_1/common.mk
===================================================================
--- ruby_1_9_1/common.mk	(revision 23341)
+++ ruby_1_9_1/common.mk	(revision 23342)
@@ -487,7 +487,7 @@
   $(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h
 eval.$(OBJEXT): {$(VPATH)}eval.c {$(VPATH)}eval_intern.h \
   $(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) {$(VPATH)}eval_error.c \
-  {$(VPATH)}eval_jump.c {$(VPATH)}debug.h \
+  {$(VPATH)}eval_jump.c {$(VPATH)}debug.h {$(VPATH)}gc.h \
   {$(VPATH)}iseq.h
 load.$(OBJEXT): {$(VPATH)}load.c {$(VPATH)}eval_intern.h \
   {$(VPATH)}util.h $(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) \
Index: ruby_1_9_1/eval.c
===================================================================
--- ruby_1_9_1/eval.c	(revision 23341)
+++ ruby_1_9_1/eval.c	(revision 23342)
@@ -13,6 +13,7 @@
 
 #include "eval_intern.h"
 #include "iseq.h"
+#include "gc.h"
 
 VALUE proc_invoke(VALUE, VALUE, VALUE, VALUE);
 VALUE rb_binding_new(void);
@@ -82,7 +83,7 @@
     int state;
     void *tree = 0;
 
-    Init_stack((void *)&state);
+    Init_stack((void *)&tree);
     PUSH_TAG();
     if ((state = EXEC_TAG()) == 0) {
 	SAVE_ROOT_JMPBUF(GET_THREAD(), tree = ruby_process_options(argc, argv));
@@ -135,7 +136,7 @@
 
     errs[1] = th->errinfo;
     th->safe_level = 0;
-    Init_stack((void *)&state);
+    Init_stack(&errs[STACK_UPPER(errs, 0, 1)]);
 
     PUSH_TAG();
     if ((state = EXEC_TAG()) == 0) {
@@ -631,7 +632,7 @@
 VALUE
 rb_protect(VALUE (* proc) (VALUE), VALUE data, int * state)
 {
-    VALUE result = Qnil;	/* OK */
+    volatile VALUE result = Qnil;
     int status;
     rb_thread_t *th = GET_THREAD();
     rb_control_frame_t *cfp = th->cfp;

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

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