summaryrefslogtreecommitdiffstats
path: root/insns.def
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-12 12:40:49 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-12 12:40:49 +0000
commit4fbf8d100f0b740dcbf48df5ace9a52c62db8334 (patch)
treea3399f261333ac4c8f5d0d8b3623a4ba786bf41a /insns.def
parentc8dd501553462e1c35e7a8462eb7fbba567395c9 (diff)
downloadruby-4fbf8d100f0b740dcbf48df5ace9a52c62db8334.tar.gz
ruby-4fbf8d100f0b740dcbf48df5ace9a52c62db8334.tar.xz
ruby-4fbf8d100f0b740dcbf48df5ace9a52c62db8334.zip
* insns.def (opt_succ): use LONG_MAX as maximum Fixnum VALUE.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'insns.def')
-rw-r--r--insns.def3
1 files changed, 1 insertions, 2 deletions
diff --git a/insns.def b/insns.def
index 9fc4fcc9d..b22b76323 100644
--- a/insns.def
+++ b/insns.def
@@ -2304,8 +2304,7 @@ opt_succ
const VALUE obj = INT2FIX(1);
/* fixnum + INT2FIX(1) */
val = (recv + (obj & (~1)));
- if ((~(recv ^ obj) & (recv ^ val)) &
- ((VALUE)0x01 << ((sizeof(VALUE) * CHAR_BIT) - 1))) {
+ if ((~(recv ^ obj) & (recv ^ val)) & (LONG_MAX + 1)) {
val = rb_big_plus(rb_int2big(FIX2LONG(recv)),
rb_int2big(FIX2LONG(obj)));
}