Issue #8568 has been updated by headius (Charles Nutter).


nobu (Nobuyoshi Nakada) wrote:
> r42685

Thanks! I do have one question, though.. are the names of the types (acquired via #type in sizes.c) guaranteed to be consistent across platforms/compilers?
----------------------------------------
Feature #8568: Introduce RbConfig value for native word size, to avoid Fixnum#size use
https://bugs.ruby-lang.org/issues/8568#change-42174

Author: headius (Charles Nutter)
Status: Closed
Priority: Normal
Assignee: 
Category: 
Target version: Ruby 2.1.0


Fixnum#size is not really useful to represent native word size across all platforms and implementations. On JRuby, for example, our Fixnum is always represented as a 64-bit Java "long" value, regardless of the underlying native platform. There may be other implementations that fix Fixnum's size to a specific bit width as well. Therefore, using Fixnum#size to determine the size of a word on the underlying native platform is not reliable.

I propose two additions to Ruby:

1. RbConfig value "word_size" for native word size. This could reflect bit size (32, 64) or byte size (4, 8).

2. A constant, somewhere in Ruby, to provide access to this value more directly. I'm not sure where this should go. ObjectSpace::WORD_SIZE?


-- 
http://bugs.ruby-lang.org/