Alpha VM on Solaris UltraSPARC?

Nick Forde nickf at cadence.com
Fri Mar 11 08:29:00 PST 2005


I thought this might be the case because the crash below suggests that
the Object state is corrupt. I can't provide access to a 64-bit machine
but may be able to help if pointed in the right direction.

Nick.

Brian Rice wrote:
> UltraSPARC processors have 64-bit words. I recall that builds on 64-bit 
> systems have issues currently (judging from a G5 build and an AMD-64 
> build others have attempted). Neither Lee nor I have quick access to 
> one, so there is a gap here in porting/debugging. If you can work on it 
> or if someone can provide access so that we can work on it, we'd 
> probably able to resolve the issues there.
> 
> On Mar 11, 2005, at 8:02 AM, Nick Forde wrote:
> 
>> I'm having some trouble running the slate alpha vm and bootstrap image
>> on a Sun workstation - it core dumps loading the image. Should the vm
>> run on this architecture?
>>
>> I've appended some debug information in case this is of use.
>>
>> Regards,
>>
>> Nick.
>>
>>
>> $ uname -a
>> SunOS 5.8 Generic_108528-29 sun4u sparc SUNW,Sun-Fire-880
>>
>> (gdb) where
>> #0  0x0001d20c in ObjectPointer_dispatchTo_arity_above_ (name=582768, 
>> arguments=0xc8148, n=1, resendMethod=0) at ../../../../../vm.c:2920
>> #1  0x0001ddb4 in PSInterpreter_send_to_through_arity_withOptionals_ 
>> (i=0xc8174, selector=582768, args=0xc8148, dispatchers=0xc8148, n=1, 
>> opts=0x0)
>>     at ../../../../../vm.c:3128
>> #2  0x00025574 in PSInterpreter_sendMessage_withOptionals_ (i=0xc8174, 
>> n=1, opts=0x0) at ../../../../../vm.c:1045
>> #3  0x0001f4dc in PSInterpreter_interpret (i=0xc8174) at 
>> ../../../../../vm.c:3495
>> #4  0x00014600 in slateMain (argc=2, argv=0xffbef6fc) at ../boot.c:140
>> #5  0x00016e00 in main (argc=2, argv=0xffbef6fc) at main.c:5
>>
>> (gdb) list
>> 2915                else
>> 2916                  obj = ObjectPointer_pointer(arg);
>> 2917                map = obj -> map;
>> 2918                if (!(map -> dispatchID == currentDispatchID))
>> 2919                {
>> 2920                  map -> dispatchID = currentDispatchID;
>> 2921                  map -> visitedPositions = 0;
>> 2922                }
>> 2923                if (((map -> visitedPositions & (1 << index)) == 
>> 0) && (((map -> flags & MapFlagRestrictDelegation) == 0) || 
>> (restricted < 0)))
>> 2924                {
>>
>> (gdb) p *obj
>> $5 = {header = {isMarked = 1, idHash = 299, objectSize = 5, 
>> objectFormat = 0}, map = 0xd1c14}
>>
>> (gdb) p *map
>> $2 = {header = {isMarked = 1, idHash = 14101, objectSize = 9, 
>> objectFormat = 2}, map = 0xd42bc, traits = 265112, flags = 1, 
>> representative = 264808,
>>   numDelegates = 7, numSlots = 1, slotTable = 0xd1c48, roleTable = 
>> 0xd1c78, visitedPositions = 0, dispatchID = 0}
>>
>> (gdb) p map->dispatchID
>> $1 = 0
>>
>> (gdb) p currentDispatchID
>> $2 = 1
>>
>>
> -- 
> Brian T. Rice
> LOGOS Research and Development
> http://tunes.org/~water/
> 
> 




More information about the Slate mailing list