[Vm-dev] Re: [OpenSmalltalk/opensmalltalk-vm] 08822c: Revise valid macro for LLP64 case in sqWin32Backtr...

David T. Lewis lewis at mail.msen.com
Thu Jul 7 19:24:22 UTC 2016


>  2016-07-07 20:20 GMT+02:00 Eliot Miranda <eliot.miranda at gmail.com>:
>
>>
>> Hi Henrik,
>>
>> On Thu, Jul 7, 2016 at 9:51 AM, Henrik Sperre Johansen <
>> henrik.s.johansen at veloxit.no> wrote:
>>
>>>
>>> ...uintptr_t?
>>>
>>> *ducks and covers*
>>>
>>
>>  uintptr_t implies four tasks:
>> - verifying uintptr_t is supported in the C compilation environments on
>> (at least) the 5 standard platforms we have (and the FreeBSD folks would
>> like to know too, and RiscOS).
>> - adding uintptr_t support in Slang's type inferrencer
>> - going through all the VMMaker methods that declare C types,
>> identifying
>> which type declarations should use uintptr_t and modifying them to do so
>> - going through all the platforms source for all functions that take
>> pointer arguments (hundreds) and modifying them to use uintptr_t instead
>> of
>> long (the last default)
>>
>> That's at least half a week's work.  Do you volunteer?
>>
>> _,,,^..^,,,_
>> best, Eliot
>>
>>
> Hi Eliot,
> what about using a squeak specific type, something like
>
> #if SIZEOF_LONG == SIZEOF_VOID_P
> typedef long sqInt_ptr;
> typedef unsigned long usqInt_ptr;
> #else
> typedef long long sqInt_ptr;
> typedef unsigned long long usqInt_ptr;
> #endif
>
> sounds simple enough
>

+1

That sounds like a good idea to me.

Dave




More information about the Vm-dev mailing list