[Perldl] question about use64bitall perl

Chris Marshall devel.chm.01 at gmail.com
Fri Feb 24 05:02:11 HST 2012


I guess it could still be true/full 64bit if the I32
data type was actually a 64bit integer...

--Chris

On Fri, Feb 24, 2012 at 9:53 AM, Chris Marshall <devel.chm.01 at gmail.com> wrote:
> The specific question is about the internal perl
> array index type as exposed by the perlapi.  E.g.,
>
>    SV*     av_delete(AV *av, I32 key, I32 flags)
>    bool    av_exists(AV *av, I32 key)
>    void    av_extend(AV *av, I32 key)
>    SV**    av_fetch(AV *av, I32 key, I32 lval)
>    void    av_fill(AV *av, I32 fill)
>    I32     av_len(const AV *av)
>    ....
>
> where you can see the I32 type everywhere.  I
> found no instance where it is not I32 in my
> perldoc searches nor in my various google
> attempts.  Maybe the feature is available in
> a late model perl.
>
> Thanks for the reply,
> Chris
>
>
>
> On Thu, Feb 23, 2012 at 8:55 PM, Sisyphus <sisyphus1 at optusnet.com.au> wrote:
>>
>> ----- Original Message ----- From: "Chris Marshall"
>>
>>
>>> Is there such a thing as a "true 64bit perl" where
>>> the number of elements in an array would be
>>> indexed with, say, a 64bit int data type?
>>
>>
>> I've been told there exists compilers on some 64-bit systems where
>> sizeof(int) == 8.
>> One would expect that a perl built with such a compiler would index its
>> arrays with a 64-bit integer data type.
>>
>> I don't have access to any "-Duse64bitall" builds of perl. I assumed they
>> would index their arrays with a 64-bit integer data type, but am unable to
>> check.
>>
>> Note also that the *absence* of the use64bitxxx flags does not imply
>> 32-bits. (You need to examine other flags, such as ivsize.) From the INSTALL
>> file that ships with the perl source:
>>
>> #################################
>> Natively 64-bit systems need neither -Duse64bitint nor -Duse64bitall.
>> On these systems, it might be the default compilation mode, and there
>> is currently no guarantee that passing no use64bitall option to the
>> Configure process will build a 32bit perl. Implementing -Duse32bit*
>> options is planned for a future release of perl.
>> #################################
>>
>> Cheers,
>> Rob
>>




More information about the Perldl mailing list