[Vm-dev] [commit] r2463 - CogVM source as per VMMaker.oscog-eem.105. Fix signed32BitValueOf for most neg-

Stefan Marr squeak at stefan-marr.de
Thu Jul 21 22:17:10 UTC 2011


Hi Eliot:

On 21/07/11 19:35, Eliot Miranda wrote:
>
> On Thu, Jul 21, 2011 at 4:30 AM, David T. Lewis <lewis at mail.msen.com 
> <mailto:lewis at mail.msen.com>> wrote:
>
>
>
>     Hi Eliot,
>
>     Can you say what the issue was with signed32BitValueOf? I can
>     see the changes in InterpreterPrimitives>>signed32BitValueOf:
>     but I'm not clear on whether this is something that affects
>     Alien, or if it is something that has been causing problems
>     more generally but went unnoticed. Also, I'd like to document
>     this with a unit test, so if you can suggest a code snippet
>     that would be great.
>
>
> The unit test is in the lien tests and is the attempt to assign max 
> neg int (-2^31) through signedLongAt:put:.  The problem is due to a 
> pervasive C compiler bug with optimization.
Maybe I misread this blog post: 
http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html 
(*Signed integer overflow:)*
but from that I would conclude that it is not a compiler bug, but 
undefined behavior in C instead. Thus, GCC and ICC are just doing there 
job in terms of what they are allowed to do by the spec.

Best regards
Stefan



More information about the Vm-dev mailing list