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/