summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-06-28 02:32:25 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-06-28 02:32:25 +0000
commit14010ce4a390e470e29959fbfef253b15ed3847f (patch)
tree4a8f072c223e0aca2552ffa102d2666386a86101 /gc.c
parentfd58a0836f2c4d0cf1c03be97011691a29a035ba (diff)
* gc.c (rb_obj_id): use SIGNED_VALUE instead of long.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gc.c b/gc.c
index de3f910d64..e4283fb719 100644
--- a/gc.c
+++ b/gc.c
@@ -2058,7 +2058,7 @@ rb_obj_id(VALUE obj)
* nil 00000000000000000000000000000100
* undef 00000000000000000000000000000110
* symbol ssssssssssssssssssssssss00001110
- * object oooooooooooooooooooooooooooooo00 = 0 (mod sizeof(RVALUE)
+ * object oooooooooooooooooooooooooooooo00 = 0 (mod sizeof(RVALUE))
* fixnum fffffffffffffffffffffffffffffff1
*
* object_id space
@@ -2067,7 +2067,7 @@ rb_obj_id(VALUE obj)
* true 00000000000000000000000000000010
* nil 00000000000000000000000000000100
* undef 00000000000000000000000000000110
- * symbol 000SSSSSSSSSSSSSSSSSSSSSSSSSSS0 S...S % A = 4 (S...S =
+ * symbol 000SSSSSSSSSSSSSSSSSSSSSSSSSSS0 S...S % A = 4 (S...S = s...s * A + 4)
* object oooooooooooooooooooooooooooooo0 o...o % A = 0
* fixnum fffffffffffffffffffffffffffffff1 bignum if required
*
@@ -2082,9 +2082,9 @@ rb_obj_id(VALUE obj)
return (SYM2ID(obj) * sizeof(RVALUE) + (4 << 2)) | FIXNUM_FLAG;
}
if (SPECIAL_CONST_P(obj)) {
- return LONG2NUM((long)obj);
+ return LONG2NUM((SIGNED_VALUE)obj);
}
- return (VALUE)((long)obj|FIXNUM_FLAG);
+ return (VALUE)((SIGNED_VALUE)obj|FIXNUM_FLAG);
}
/*