lightning
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lightning] Porting GNU Smalltalk to lightning 2


From: Paulo César Pereira de Andrade
Subject: Re: [Lightning] Porting GNU Smalltalk to lightning 2
Date: Fri, 24 Oct 2014 15:11:46 -0200

2014-10-22 16:31 GMT-02:00 Paulo César Pereira de Andrade
<address@hidden>:

Just in case, I made a small correction that targets powerpc64
and ia64,  to the special condition of a jit_state_t having only one
prolog/epilog with a jit_frame call (the test case was sharing the
jit_context_t), so, it did not really change code generation. And
when building on powerpc64 (tested on gcc110.fsffrance.org) I see
the exact same backtrace.

[[ quoted is x86_64 ]]
> nil did not understand selector #signal
>
> (ip 8)SmallInteger(Object)>>#userInterrupt
> (ip 0)IdentityDictionary(LookupTable)>>#primAt:
> (ip 26)IdentityDictionary>>#findIndex:
> (ip 6)IdentityDictionary(LookupTable)>>#at:put:
> (ip 8)[] in Date class>>#initDayNameDict
> (ip 26)Array(SequenceableCollection)>>#do:
> (ip 4)[] in Date class>>#initDayNameDict
> (ip 26)Array(SequenceableCollection)>>#keysAndValuesDo:
> (ip 10)Date class>>#initDayNameDict
> (ip 24)Date class>>#initialize
> (ip 28)ObjectMemory class>>#initialize
> (ip 6)UndefinedObject>>#executeStatements
> (ip 0)<bottom>
> nil
>
> /home/pcpa/github/smalltalk/kernel/ObjMemory.st:650: Aborted
> (ip 8)SmallInteger(Object)>>#userInterrupt
> (ip 0)IdentityDictionary(LookupTable)>>#primAt:
> (ip 26)IdentityDictionary>>#findIndex:
> (ip 6)IdentityDictionary(LookupTable)>>#at:put:
> (ip 8)[] in Date class>>#initDayNameDict
> (ip 26)Array(SequenceableCollection)>>#do:
> (ip 4)[] in Date class>>#initDayNameDict
> (ip 26)Array(SequenceableCollection)>>#keysAndValuesDo:
> (ip 10)Date class>>#initDayNameDict
> (ip 24)Date class>>#initialize
> (ip 28)ObjectMemory class>>#initialize
> (ip 6)UndefinedObject>>#executeStatements
> (ip 0)<bottom>
> ---%<---

and this is powerpc64:
---%<---
nil did not understand selector #signal

(ip 8)Symbol(Object)>>#userInterrupt
(ip 22)IdentityDictionary>>#findIndex:
(ip 6)IdentityDictionary(LookupTable)>>#at:put:
(ip 8)[] in Date class>>#initDayNameDict
(ip 26)Array(SequenceableCollection)>>#do:
(ip 4)[] in Date class>>#initDayNameDict
(ip 26)Array(SequenceableCollection)>>#keysAndValuesDo:
(ip 10)Date class>>#initDayNameDict
(ip 24)Date class>>#initialize
(ip 28)ObjectMemory class>>#initialize
(ip 6)UndefinedObject>>#executeStatements
(ip 0)<bottom>
nil

/home/pcpa/smalltalk/kernel/ObjMemory.st:650: Aborted
(ip 8)Symbol(Object)>>#userInterrupt
(ip 22)IdentityDictionary>>#findIndex:
(ip 6)IdentityDictionary(LookupTable)>>#at:put:
(ip 8)[] in Date class>>#initDayNameDict
(ip 26)Array(SequenceableCollection)>>#do:
(ip 4)[] in Date class>>#initDayNameDict
(ip 26)Array(SequenceableCollection)>>#keysAndValuesDo:
(ip 10)Date class>>#initDayNameDict
(ip 24)Date class>>#initialize
(ip 28)ObjectMemory class>>#initialize
(ip 6)UndefinedObject>>#executeStatements
(ip 0)<bottom>
---%<---

So, for now I am sorting out bad code generation, at least on x86_64
and powerpc64.

I think the likely cause in 32-bit is possibly code expecting a non callee
save register value to be kept after some non local jump. Or maybe I
just got confused in some step translating from lightning 1.x to
lightning 2.x.

Thanks,
Paulo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]