[#61424] [REJECT?] xmalloc/xfree: reduce atomic ops w/ thread-locals — Eric Wong <normalperson@...>

I'm unsure about this. I _hate_ the extra branches this adds;

13 messages 2014/03/12

[ruby-core:61196] Re: [ruby-trunk - Bug #9507] Ruby 2.1.0 is broken on ARMv5: tried to create Proc object without a block

From: Eric Wong <normalperson@...>
Date: 2014-03-01 21:12:21 UTC
List: ruby-core #61196
rubylang.10.webmeister@spamgourmet.com wrote:
> <blockquote>
> Can you try any other code which uses 64-bit math?
> </blockquote>
> 
> Can you recommend any test code? Those compilers build the whole Arch Linux ARM repository, so if it were a common problem, it should have been noticed by now.

Maybe some crypto or audio/video codecs.  It could also be compiler
options for math worth trying.

> <blockquote>
> 64-bits is needed to avoid overflow on VM state changes.
> Otherwise our caches could give false hits and crash.
> </blockquote>

> I see. But isn't it dangerous then to fall back to `unsigned long`,
> which only guarantees at least 32 bits? Or is the probability for a
> crash with only 32 bits still very low, and 64 bits just provide some
> extra safety?

unsigned long is 64-bits on 64-bit systems.  The probability of a 32-bit
crash is low and only affects codebases with frequent dynamic
method/module/class/const creation.  Maybe few use the 32-bit unsigned
long case and don't hit the problem.

In This Thread

Prev Next