Yes, but we do have a few spots that call it with that, I tested now. I
assume they can be fixed up, but it isn't just a one-line fix.

- Alon


On Mon, Dec 8, 2014 at 4:18 AM, Jukka Jylänki <[email protected]> wrote:

> Can we throw a compiler error on makeGetValue of i64 that tells to use a
> pair of 32-bit values? It looks odd that currently makeGetValue of i64
> silently does a makeGetValue of i32.
>
> 2014-12-02 14:22 GMT-08:00 Alon Zakai <[email protected]>:
>
> I suspect we just never implemented i64 support for makeGetValue. But it
>> could only work on the range of i64s representable in doubles anyhow, so
>> this is probably not that good an idea. If you can treat i64s as pairs of
>> i32s, that would be better.
>>
>> - Alon
>>
>>
>> On Tue, Dec 2, 2014 at 4:20 AM, Pepijn Van Eeckhoudt <
>> [email protected]> wrote:
>>
>>>  I'm generating code that contains pairs of macro calls of the form
>>>
>>> {{{ makeSetValue('ptr', '8', 'x', 'i64') }}}
>>>
>>> and
>>>
>>> x = {{{ makeGetValue('ptr', '8', 'i64') }}}
>>>
>>>
>>> The compiler converts this to
>>>
>>> (tempI64 = [x>>>0,(tempDouble=x,(+(Math_abs(tempDouble))) >= 1.0 ? 
>>> (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 
>>> 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - 
>>> +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 
>>> 0)],HEAP32[(((ptr)+(8))>>2)]=tempI64[0],HEAP32[(((ptr)+(12))>>2)]=tempI64[1])
>>>
>>> and
>>>
>>> x = HEAP32[(((ptr)+(8))>>2)]
>>>
>>> respectively.
>>>
>>> The former is what I expected, the latter not quite. It seems that the
>>> generated code is not symmetrical for i64 values. Is this a bug, known
>>> limitation, missing feature, ...? Or am I using the makeGetValue macro
>>> incorrectly?
>>>
>>> Thanks,
>>>
>>> Pepijn
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "emscripten-discuss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "emscripten-discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to