Dan wrote:
>At 10:43 AM -0400 7/29/02, Melvin Smith wrote:
>>At 10:45 AM 7/29/2002 +0100, Nicholas Clark wrote:
>>The VM and assembler does not need to provide every operator as
>>an new 'op'. Eventually, languages with funky operators need to start
thinking
>>about implementing them as methods or such.
>
>This is definitely true, for ease of use and maintenace if nothing
>else. However, if a language does want to provide ops for its
>operators, that's not really something we should care about. Also,
>the one big upside to ops is that they're JITtable, where method
>calls aren't.

Aha! You said it yourself, instructions are JITtable. So why shouldn't
we concentrate on providing enough _primitives_ to allow people to
write anything and everything in Parrot. New ops then become JITable
and the upside is there is no language specific ops file needed.

That way any language compiling to Parrot will run on any Parrot
with standard ops.

>Ultimately doing things as a (dynamically loaded) op will make the
>running of the code faster, since op calls are lower overhead than
>method calls. The runtime will likely be smaller as well. The
>downside is a larger compiler side.

The other downside is that Parrot turns into a Linux kernel and
forever accumulates custom ops, PMCs. I think of Parrot as
a CPU. When we have adequately designed the CPU, people don't need
new ops.

-Melvin Smith

IBM :: Atlanta Innovation Center
[EMAIL PROTECTED] :: 770-835-6984


Reply via email to