[self-interest] Re: Implementation

Douglas Atique datique at alcatel.com.br
Mon Jun 28 12:12:15 UTC 1999

You mean EnterSelf? I have come to the conclusion that CallSelf handles some
threading issues before and after it forwards the "do it request" to EnterSelf
(written in assembly in runtime/sun4.runtime.s), which carries out the task of
executing the nmethod.
Anyway, EnterSelf also takes only the receiver and one argument. So if a method
that has more than one argument slot (not including :self) is compiled into an
nmethod, how can its argument slots be properly initialized? In other words, how
are the real arguments bound to the "formals" of the nmethod? The Programmer's
Reference states that when a method is executed it is cloned to create a method
activation and the argument slots are initialized to the arguments given in the
message send. How is this implemented?


David.Ungar at Eng.Sun.COM wrote:

> I seem to recall that CallSelf just invokes a "doIt" method that
> calls the real method.
> - Dave
> At 8:27 AM -0300 6/16/99, Douglas Atique wrote:
> >Hello, all. (BTW, I have noticed the list is rather quiet lately.)
> >Here is a little question about the VM.
> >We know there are three kinds of sends: unary, binary and keyword. I
> >have been looking at the runtime part of the VM code and found out about
> >an assembly routine named
> >oop CallSelf(nmethod method, oop receiver, oop arg)
> >which seems to me the part of code that really evaluates a send with
> >compiled native methods, returning an oop. As you might have noticed,
> >this function takes only one argument. In my opinion, to the send. My
> >question is: how can the VM evaluate binary and keyword sends if it can
> >give CallSelf only 1 argument?
> >I hope not to be too simplistic, but I am not very fluent in SPARC
> >assembly and didn't understand much of the code. It also seems that all
> >this is mixed in intricate ways with the Self threading system.
> >Regards,
> >Douglas
> >
> >
> >
> >------------------------------------------------------------------------
> >eGroups Spotlight:
> >"Lightning Strike Survivor List" - on-line support group for lightning strike
> >survivors and their families.  http://clickhere.egroups.com/click/111
> >
> >
> >eGroups.com home: http://www.egroups.com/group/self-interest
> >http://www.egroups.com - Simplifying group communications
>      David Ungar
>      Sun Microsystems Laboratories
>      (650) 336-2618
> ------------------------------------------------------------------------
> FreeShop is the #1 place for free and trial offers and great deals!
> Try something new and find out how you could win two round-trip tickets
> anywhere in the U.S.! http://clickhere.egroups.com/click/368
> eGroups.com home: http://www.egroups.com/group/self-interest
> http://www.egroups.com - Simplifying group communications


eGroups.com home: http://www.egroups.com/group/self-interest
http://www.egroups.com - Simplifying group communications

More information about the Self-interest mailing list