|
From: Tim R. <ti...@su...> - 2004-04-08 02:21:50
|
In message <6F7...@in...>
Ian Piumarta <ian...@in...> wrote:
> On 08 Apr 2004, at 02:39, Andreas Raab wrote:
>
> > Which reminds of something else we were talking about in the past:
> > Passing
> > primitive arguments as C arguments instead of the Smalltalk stack.
>
That could save time in the primitive code, but what would it cost in
the calling code? Outside of a translator, how would we load up the
registers (and think of the platform differences in which registers and
how many etc)? Wouldn't it end up with primitiveResponse looking like
switch(numArgs) {
case 1: (prim)(*sp); break;
case 2: (prim)(*sp, *s--p); break;
etc
which surely wouldn't net much benfit?
> Which reminds me of something else Dan & I talked about in the past:
> evaluating arguments from right to left.
You mean having rcvr as TOS at prim call time? What benefit does that
have ? Is there some specialness about the TOS value on x86?
tim
--
Tim Rowledge, ti...@su..., http://sumeru.stanford.edu/tim
Useful Latin Phrases:- Utinam coniurati te in foro interficiant! = May
conspirators assassinate you in the mall!
|