[Vm-dev] Re: Alien on Spur and "el capitan"?

Esteban Lorenzano estebanlm at gmail.com
Tue Oct 20 20:35:21 UTC 2015


well… I solve the problem. 
Everything is about the first issue report (comparison is always true). 
I changed first from “unsigned long” to “sqLong” but then I realised sqLong is defined as “long long” so this expression: 

	intValue bitXor: (intValue << 1)) >= 0

since number fitted in "long long”, was also always true. Then of course it was converting into a SmallInteger a number that should be a LongPositiveInteger. 

my fix: just to change #maybeInlinePositive32BitIntegerFor: and around to ensure parameter is “sqInt”. 
That works. 

Now, I have this doubts: 

- how is possible this was working before? maybe this is a change in clang 7 (apple)?
- now I have a lot of complains of “comparison of unsigned expression is always true” all around the image. Should we take care about them?

I will do some tests and commit to VMMaker tomorrow. 

cheers,
Esteban


> On 19 Oct 2015, at 18:31, Esteban Lorenzano <estebanlm at gmail.com> wrote:
> 
> Hi, 
> 
> Does anyone tested Alien on Spur and "El capitan"? specifically callbacks?
> For me, a completely broken :(
> 
> 1) this structure (in maybeInlinePositive32BitIntegerFor: and others): 
> 
> 	(integerValue >= 0
> 	 and: [objectMemory isIntegerValue: integerValue]) ifTrue:
> 		[^objectMemory integerObjectOf: integerValue].
> 
> Does not works if “integer value” is an unsigned long, because compiler assumes it will always be true, then remove the if, then answers a wrong value. 
> 
> 2) assertCStackWellAligned always fail. No idea why because if does not says anything, just jmp back to the regular flow. 
> 
> 3) finally, ceCaptureCStackPointers also fails… this can be because (2) or because other reasons (it also jmps back so no clue) (method generateCaptureCStackPointers: clarifies is a hack, so I suppose it stopped to work). 
> 
> I guess solution of (1) is easy: argument number just has to be a sqLong instead an unsigned long. 
> 
> But for 2 and 3 I have no idea where to start.
> 
> Does anyone has an idea?
> 
> Esteban
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20151020/e060573f/attachment.htm


More information about the Vm-dev mailing list