ruby-changes:23568
From: nobu <ko1@a...>
Date: Fri, 11 May 2012 14:10:17 +0900 (JST)
Subject: [ruby-changes:23568] nobu:r35619 (ruby_1_9_3, ruby_1_9_2, ruby_1_8, trunk, ruby_1_8_7): * ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC,
nobu 2012-05-11 14:09:58 +0900 (Fri, 11 May 2012) New Revision: 35619 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35619 Log: * ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC, must not cast it to unsigned long, which may be shorter than VALUE, and the result can be mere garbage. Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/ext/bigdecimal/bigdecimal.c branches/ruby_1_8/version.h branches/ruby_1_8_7/ChangeLog branches/ruby_1_8_7/ext/bigdecimal/bigdecimal.c branches/ruby_1_8_7/version.h branches/ruby_1_9_2/ChangeLog branches/ruby_1_9_2/ext/bigdecimal/bigdecimal.c branches/ruby_1_9_2/version.h branches/ruby_1_9_3/ChangeLog branches/ruby_1_9_3/ext/bigdecimal/bigdecimal.c branches/ruby_1_9_3/version.h trunk/ChangeLog trunk/ext/bigdecimal/bigdecimal.c Index: ChangeLog =================================================================== --- ChangeLog (revision 35618) +++ ChangeLog (revision 35619) @@ -1,3 +1,9 @@ +Fri May 11 14:09:47 2012 Nobuyoshi Nakada <nobu@r...> + + * ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC, + must not cast it to unsigned long, which may be shorter than + VALUE, and the result can be mere garbage. + Fri May 11 09:51:07 2012 Nobuyoshi Nakada <nobu@r...> * lib/test/unit.rb (Test::Unit::Runner#failed): no unnecessary Index: ext/bigdecimal/bigdecimal.c =================================================================== --- ext/bigdecimal/bigdecimal.c (revision 35618) +++ ext/bigdecimal/bigdecimal.c (revision 35619) @@ -61,7 +61,7 @@ /* MACRO's to guard objects from GC by keeping them in stack */ #define ENTER(n) volatile VALUE vStack[n];int iStack=0 -#define PUSH(x) vStack[iStack++] = (unsigned long)(x); +#define PUSH(x) vStack[iStack++] = (VALUE)(x); #define SAVE(p) PUSH(p->obj); #define GUARD_OBJ(p,y) {p=y;SAVE(p);} Index: ruby_1_8/ext/bigdecimal/bigdecimal.c =================================================================== --- ruby_1_8/ext/bigdecimal/bigdecimal.c (revision 35618) +++ ruby_1_8/ext/bigdecimal/bigdecimal.c (revision 35619) @@ -35,7 +35,7 @@ /* MACRO's to guard objects from GC by keeping them in stack */ #define ENTER(n) volatile VALUE vStack[n];int iStack=0 -#define PUSH(x) vStack[iStack++] = (unsigned long)(x); +#define PUSH(x) vStack[iStack++] = (VALUE)(x); #define SAVE(p) PUSH(p->obj); #define GUARD_OBJ(p,y) {p=y;SAVE(p);} Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 35618) +++ ruby_1_8/ChangeLog (revision 35619) @@ -1,3 +1,9 @@ +Fri May 11 14:09:48 2012 Nobuyoshi Nakada <nobu@r...> + + * ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC, + must not cast it to unsigned long, which may be shorter than + VALUE, and the result can be mere garbage. + Sat Apr 14 18:00:59 2012 Nobuyoshi Nakada <nobu@r...> * bignum.c (rb_big2str0): prevent working clone from Index: ruby_1_8/version.h =================================================================== --- ruby_1_8/version.h (revision 35618) +++ ruby_1_8/version.h (revision 35619) @@ -1,15 +1,15 @@ #define RUBY_VERSION "1.8.8" -#define RUBY_RELEASE_DATE "2012-04-14" +#define RUBY_RELEASE_DATE "2012-05-11" #define RUBY_VERSION_CODE 188 -#define RUBY_RELEASE_CODE 20120414 +#define RUBY_RELEASE_CODE 20120511 #define RUBY_PATCHLEVEL -1 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_TEENY 8 #define RUBY_RELEASE_YEAR 2012 -#define RUBY_RELEASE_MONTH 4 -#define RUBY_RELEASE_DAY 14 +#define RUBY_RELEASE_MONTH 5 +#define RUBY_RELEASE_DAY 11 #define NO_STRING_LITERAL_CONCATENATION 1 #ifdef RUBY_EXTERN Index: ruby_1_9_2/ChangeLog =================================================================== --- ruby_1_9_2/ChangeLog (revision 35618) +++ ruby_1_9_2/ChangeLog (revision 35619) @@ -1,3 +1,9 @@ +Fri May 11 14:09:48 2012 Nobuyoshi Nakada <nobu@r...> + + * ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC, + must not cast it to unsigned long, which may be shorter than + VALUE, and the result can be mere garbage. + Fri Apr 20 12:40:19 2012 Eric Hodel <drbrain@s...> * lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem: Removed to avoid Index: ruby_1_9_2/ext/bigdecimal/bigdecimal.c =================================================================== --- ruby_1_9_2/ext/bigdecimal/bigdecimal.c (revision 35618) +++ ruby_1_9_2/ext/bigdecimal/bigdecimal.c (revision 35619) @@ -35,7 +35,7 @@ /* MACRO's to guard objects from GC by keeping them in stack */ #define ENTER(n) volatile VALUE vStack[n];int iStack=0 -#define PUSH(x) vStack[iStack++] = (unsigned long)(x); +#define PUSH(x) vStack[iStack++] = (VALUE)(x); #define SAVE(p) PUSH(p->obj); #define GUARD_OBJ(p,y) {p=y;SAVE(p);} Index: ruby_1_9_2/version.h =================================================================== --- ruby_1_9_2/version.h (revision 35618) +++ ruby_1_9_2/version.h (revision 35619) @@ -1,13 +1,13 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_PATCHLEVEL 320 +#define RUBY_PATCHLEVEL 321 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 #define RUBY_RELEASE_YEAR 2012 -#define RUBY_RELEASE_MONTH 4 -#define RUBY_RELEASE_DAY 20 -#define RUBY_RELEASE_DATE "2012-04-20" +#define RUBY_RELEASE_MONTH 5 +#define RUBY_RELEASE_DAY 11 +#define RUBY_RELEASE_DATE "2012-05-11" #include "ruby/version.h" Index: ruby_1_9_3/ChangeLog =================================================================== --- ruby_1_9_3/ChangeLog (revision 35618) +++ ruby_1_9_3/ChangeLog (revision 35619) @@ -1,3 +1,9 @@ +Fri May 11 14:09:48 2012 Nobuyoshi Nakada <nobu@r...> + + * ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC, + must not cast it to unsigned long, which may be shorter than + VALUE, and the result can be mere garbage. + Fri May 11 01:04:54 2012 Hiroshi Shirosaki <h.shirosaki@g...> * io.c (io_unread): fix IO#pos with mode 'r' bug on Windows. Index: ruby_1_9_3/ext/bigdecimal/bigdecimal.c =================================================================== --- ruby_1_9_3/ext/bigdecimal/bigdecimal.c (revision 35618) +++ ruby_1_9_3/ext/bigdecimal/bigdecimal.c (revision 35619) @@ -61,7 +61,7 @@ /* MACRO's to guard objects from GC by keeping them in stack */ #define ENTER(n) volatile VALUE vStack[n];int iStack=0 -#define PUSH(x) vStack[iStack++] = (unsigned long)(x); +#define PUSH(x) vStack[iStack++] = (VALUE)(x); #define SAVE(p) PUSH(p->obj); #define GUARD_OBJ(p,y) {p=y;SAVE(p);} Index: ruby_1_9_3/version.h =================================================================== --- ruby_1_9_3/version.h (revision 35618) +++ ruby_1_9_3/version.h (revision 35619) @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.3" -#define RUBY_PATCHLEVEL 208 +#define RUBY_PATCHLEVEL 209 #define RUBY_RELEASE_DATE "2012-05-11" #define RUBY_RELEASE_YEAR 2012 Index: ruby_1_8_7/ext/bigdecimal/bigdecimal.c =================================================================== --- ruby_1_8_7/ext/bigdecimal/bigdecimal.c (revision 35618) +++ ruby_1_8_7/ext/bigdecimal/bigdecimal.c (revision 35619) @@ -32,7 +32,7 @@ /* MACRO's to guard objects from GC by keeping them in stack */ #define ENTER(n) volatile VALUE vStack[n];int iStack=0 -#define PUSH(x) vStack[iStack++] = (unsigned long)(x); +#define PUSH(x) vStack[iStack++] = (VALUE)(x); #define SAVE(p) PUSH(p->obj); #define GUARD_OBJ(p,y) {p=y;SAVE(p);} Index: ruby_1_8_7/ChangeLog =================================================================== --- ruby_1_8_7/ChangeLog (revision 35618) +++ ruby_1_8_7/ChangeLog (revision 35619) @@ -1,3 +1,9 @@ +Fri May 11 14:09:48 2012 Nobuyoshi Nakada <nobu@r...> + + * ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC, + must not cast it to unsigned long, which may be shorter than + VALUE, and the result can be mere garbage. + Sat Apr 14 18:51:41 2012 Nobuyoshi Nakada <nobu@r...> * bignum.c (rb_big2str0): prevent working clone from Index: ruby_1_8_7/version.h =================================================================== --- ruby_1_8_7/version.h (revision 35618) +++ ruby_1_8_7/version.h (revision 35619) @@ -1,15 +1,15 @@ #define RUBY_VERSION "1.8.7" -#define RUBY_RELEASE_DATE "2012-04-14" +#define RUBY_RELEASE_DATE "2012-05-11" #define RUBY_VERSION_CODE 187 -#define RUBY_RELEASE_CODE 20120414 -#define RUBY_PATCHLEVEL 361 +#define RUBY_RELEASE_CODE 20120511 +#define RUBY_PATCHLEVEL 362 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_TEENY 7 #define RUBY_RELEASE_YEAR 2012 -#define RUBY_RELEASE_MONTH 4 -#define RUBY_RELEASE_DAY 14 +#define RUBY_RELEASE_MONTH 5 +#define RUBY_RELEASE_DAY 11 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/