swarm-support
[Top][All Lists]
Advanced

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

Re: Compaq(DEC) Tru64 UNIX - passed the tests!


From: W . Northcott
Subject: Re: Compaq(DEC) Tru64 UNIX - passed the tests!
Date: Tue, 30 Jan 2001 16:50:06 +1000



Marcus wrote:
>I think the fastest way will be to look using the debugger, e.g. using
>the approach I suggested before..

We did much so and resorted to a line of assembler, which I am happy to
say is not empirically determined.  If it works on our alpha it should
work on any alpha.
Perhaps Marcus or Paul could try it?
This code now passes all tests (have you fixed the permissions on
$SWARMSRC/tests/simtools/File.test?).

There is one aspect of the code I don't like.  It relies on res to point
somewhere sensible.  I am trying to improve the code now.

The bad news is it will not run Paul's ArtStkMkt code.  The problems
appear to be with his getInt and getDouble functions, which sometimes
return silly numbers.

Bill Northcott

Only in ../swarm-2001-01-24a: conf
diff -c -r ../swarm-2001-01-24/libobjc/sendmsg.c
../swarm-2001-01-24a/libobjc/sendmsg.c
*** ../swarm-2001-01-24/libobjc/sendmsg.c       Tue Jan 23 11:42:59 2001
--- ../swarm-2001-01-24a/libobjc/sendmsg.c      Tue Jan 30 16:36:23 2001
***************
*** 517,534 ****

    args = __builtin_apply_args ();
    res = __objc_forward (rcv, op, args);
! #ifndef __alpha__
!   __builtin_return (res);
  #else
!   /* Emprically determined -- very fragile! -mgd */
!   {
!     const char *type = sel_get_type (op);
!
!     if (*type == _C_FLT)
!       return ((float *) res)[38];
!     else
!       return ((double *) res)[19];
!   }
  #endif
  }

--- 517,528 ----

    args = __builtin_apply_args ();
    res = __objc_forward (rcv, op, args);
! #ifdef __alpha__
!   /* Stuff the answer where we can find it - wjn */
!   asm ("stt $f0 ,%0" : "=g" (*((double *) res)) );
!   return ((double *) res)[0];
  #else
!   __builtin_return (res);
  #endif
  }




                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

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