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

ruby-changes:4054

From: ko1@a...
Date: Tue, 19 Feb 2008 11:14:31 +0900 (JST)
Subject: [ruby-changes:4054] nobu - Ruby:r15544 (trunk): * eval.c (ruby_exec_node): no thread starts inside iseq compilation.

nobu	2008-02-19 11:14:14 +0900 (Tue, 19 Feb 2008)

  New Revision: 15544

  Modified files:
    trunk/ChangeLog
    trunk/eval.c
    trunk/insns.def
    trunk/version.h

  Log:
    * eval.c (ruby_exec_node): no thread starts inside iseq compilation.
    
    * eval.c (rb_f_raise): skip current control frame.  [ruby-core:15589]
    
    * insns.def (opt_div): raise as the ordinary method. [ruby-core:15589]


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/version.h?r1=15544&r2=15543&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15544&r2=15543&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/eval.c?r1=15544&r2=15543&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/insns.def?r1=15544&r2=15543&diff_format=u

Index: insns.def
===================================================================
--- insns.def	(revision 15543)
+++ insns.def	(revision 15544)
@@ -1513,7 +1513,7 @@
 	    /* copied from numeric.c#fixdivmod */
 	    long mod;
 	    if (y == 0)
-		rb_num_zerodiv();
+		goto INSN_LABEL(normal_dispatch);
 	    if (y < 0) {
 		if (x < 0)
 		    div = -x / -y;
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 15543)
+++ ChangeLog	(revision 15544)
@@ -1,3 +1,11 @@
+Tue Feb 19 11:14:13 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* eval.c (ruby_exec_node): no thread starts inside iseq compilation.
+
+	* eval.c (rb_f_raise): skip current control frame.  [ruby-core:15589]
+
+	* insns.def (opt_div): raise as the ordinary method. [ruby-core:15589]
+
 Mon Feb 18 15:16:30 2008  Tanaka Akira  <akr@f...>
 
 	* string.c (rb_str_each_line): fix newline size.
Index: eval.c
===================================================================
--- eval.c	(revision 15543)
+++ eval.c	(revision 15544)
@@ -225,9 +225,9 @@
 
     PUSH_TAG();
     if ((state = EXEC_TAG()) == 0) {
+	VALUE iseq = rb_iseq_new(n, rb_str_new2("<main>"),
+				 rb_str_new2(file), Qfalse, ISEQ_TYPE_TOP);
 	SAVE_ROOT_JMPBUF(th, {
-	    VALUE iseq = rb_iseq_new(n, rb_str_new2("<main>"),
-				     rb_str_new2(file), Qfalse, ISEQ_TYPE_TOP);
 	    th->base_block = 0;
 	    val = rb_iseq_eval(iseq);
 	});
@@ -775,7 +775,9 @@
 	    argv = &err;
 	}
     }
-    rb_raise_jump(rb_make_exception(argc, argv));
+    err = rb_make_exception(argc, argv);
+    GET_THREAD()->cfp++;
+    rb_raise_jump(err);
     return Qnil;		/* not reached */
 }
 
Index: version.h
===================================================================
--- version.h	(revision 15543)
+++ version.h	(revision 15544)
@@ -1,7 +1,7 @@
 #define RUBY_VERSION "1.9.0"
-#define RUBY_RELEASE_DATE "2008-02-18"
+#define RUBY_RELEASE_DATE "2008-02-19"
 #define RUBY_VERSION_CODE 190
-#define RUBY_RELEASE_CODE 20080218
+#define RUBY_RELEASE_CODE 20080219
 #define RUBY_PATCHLEVEL 0
 
 #define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
 #define RUBY_VERSION_TEENY 0
 #define RUBY_RELEASE_YEAR 2008
 #define RUBY_RELEASE_MONTH 2
-#define RUBY_RELEASE_DAY 18
+#define RUBY_RELEASE_DAY 19
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];

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

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