mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
9cc7e9d1e8
commit
af310963ab
2 changed files with 7 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
Fri May 11 14:09:47 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* 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@ruby-lang.org>
|
Fri May 11 09:51:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* lib/test/unit.rb (Test::Unit::Runner#failed): no unnecessary
|
* lib/test/unit.rb (Test::Unit::Runner#failed): no unnecessary
|
||||||
|
|
|
@ -61,7 +61,7 @@ static ID id_eq;
|
||||||
|
|
||||||
/* MACRO's to guard objects from GC by keeping them in stack */
|
/* MACRO's to guard objects from GC by keeping them in stack */
|
||||||
#define ENTER(n) volatile VALUE vStack[n];int iStack=0
|
#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 SAVE(p) PUSH(p->obj);
|
||||||
#define GUARD_OBJ(p,y) {p=y;SAVE(p);}
|
#define GUARD_OBJ(p,y) {p=y;SAVE(p);}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue