[Ur] Collecting Ur/Web examples

Adam Chlipala adamc at csail.mit.edu
Wed May 7 15:45:45 EDT 2014


Right, we can tell it's a requirement for ARM, because Evan had to 
change the Ur/Web implementation to maintain alignment, to get it 
working on ARM. :)

I think it's best to apply Evan's alignment patch unconditionally, for 
all architectures, and I'm hoping he can just send what he already 
implemented.

On 05/07/2014 02:34 PM, Austin Seipp wrote:
> FWIW, alignment is probably not only good for most non-Nehalem*
> platforms, it is also a requirement for certain platforms like 32-bit
> ARM, if I'm not mistaken. I believe AArch64 (64bit ARM) has also
> lifted this restruction, but in general it's probably a decent one to
> follow for portability I think.
>
> * Intel Nehalem was the first Intel arch to allow very cheap unaligned
> load/stores from what I remember, these days I'm not even sure how
> much slower they are than aligned ones...
>
> On Wed, May 7, 2014 at 1:25 PM, Adam Chlipala <adamc at csail.mit.edu> wrote:
>> Neat!  Would you mind contributing a patch to address this ARM issue?
>> (Presumably this is just the code you already tweaked, perhaps ideally using
>> some kind of preprocessor magic to decide if the alignment is necessary, or
>> maybe alignment is also good for performance on all platforms that should be
>> supported.)
>>
>>
>> On 05/07/2014 12:36 PM, Evan Danaher wrote:
>>> On Wed, May 07, 2014 at 08:37:58AM -0400, Adam Chlipala wrote:
>>>> [snip]
>>>>
>>>> I don't know if anyone has built Ur/Web servers for ARM, but I can't
>>>> think
>>>> of any reason why it wouldn't work right away.  If there are issues,
>>>> they're
>>>> probably easy to fix.  Certainly Ur/Web is used regularly with both
>>>> 32-bit
>>>> and 64-bit x86.
>>>>
>>> I haven't finished any projects, but some of my playing around was on an
>>> ARM machine running Ubuntu.  IIRC, I had to tweak uw_malloc to always be
>>> 4-byte aligned, but aside from that I didn't run into any issues.  (I
>>> also didn't do anything particularly exciting, but the basics at least
>>> worked without issue.)
>>
>> _______________________________________________
>> Ur mailing list
>> Ur at impredicative.com
>> http://www.impredicative.com/cgi-bin/mailman/listinfo/ur
>
>




More information about the Ur mailing list