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