[self-interest] Re: Transmeta

Jecel Assumpcao Jr. jecel at merlintec.com
Thu Jan 20 19:52:04 UTC 2000

Dobes Vandermeer wrote:
> I guess I'm pretty new to the Self scene, but doesn't Self compile to
> machine code before execution, rather than interpret bytecodes? 

Exactly. Though some people (including me) have implemented Self interpreters
so that is a valid, but slooooow, alternative.

> The
> documentation (what little of it there is) isn't completely clear on
> this point.. 

If you count two PhD thesis, then the documentation on this is actually very
good. In fact, the same information is also available in a bunch of papers that
were presented mainly at OOPSLA and ECOOP.

> Of course, this has very little to do with your
> question... although bytecodes often contain operations that are
> "difficult" for hardware to emulate, like a dispatch.

Self is famous for "message passing at the bottom" in contrast to Smalltalk
which includes things as variable access and assignment. So a bytecode can only:

  - push a literal or "self"
  - send to top of stack, send to self, resend to self
  - modify the following bytecode's argument or its resend parent

The second group (which you have correctly identified as difficult) is by far
the most common in Self methods.

-- Jecel

More information about the Self-interest mailing list