On Thu, 16 Oct 2003, Robert Spier wrote:

> > The goals are to assign permanent numbers to the opcodes. What the
> > numbers are is generally irrelevant, but they must be constant across
> > all systems for the lifetime of parrot.
>
> At first glance, gut reaction, that seems "really hard"(tm) and
> "really limiting"(tm)...

Luckily, on second glance, it turns out to be neither. :)

While new ops get added, old ones rarely, if ever, get removed. Perl 5's
set has been stable, as has Python's, the JVM, the x86, Alpha, SPARC, and
POWER's...

> since there's going to be a combination of dynamic oplibs that are
> going to have to be dynamically numbered anyway.  (right?)

Yes and no. Dynamic ops will go into slots, put in by name, with their
number fixed at compile-time. We'd prefer to do this as little as possible
for startup speed reasons, as it does slow down instantiating an
interpreter.

> So why not treat the core oplib as dynamic?  (With the exception of
> the handful that need to be fixed, like end.)

Speed and complexity mainly. There's no win from the flexibility.

                                        Dan

Reply via email to