Re: PMC flags

[email protected] (Leopold Toetsch) Wed, 04 May 2005 07:51:26 +0200
Newsgroups perl.perl6.internals,perl.ponie.dev
Message-ID <[email protected]>
Aaron Sherman wrote:
> On Mon, 2005-05-02 at 08:58 +0200, Leopold Toetsch wrote:

>>The vtable functions C<isa> and C<does>, which take now a string, are a
>>bit heavy-weighted and might get an extension in the log run that take
>>an integer flag.
> 
> 
> Unless this happens, this would be a HUGE performance hit. After all,
> Sv*OK is called all over the place in the Perl 5 code, including many
> places where performance is an issue.

> Here is some example P5 source from pp_pow in pp.c:

I presume that Ponie eventually will run Parrot opcodes. pp_pow() is 
like all these functions part of the perl runloop. Therefore it'll be

   infix .MMD_POW, P1, P2, P3

which will do a MM dispatch depending on (P1, P2). That's all. No flags 
needed.

> If you're writing a compiler from scratch, I can see that being mostly
> true. However, in trying to port Perl 5 guts over to Parrot, there's a
> lot of code that relies on knowing what's going on (e.g. if a value has
> ever been a number, etc.)

Most of the guts are called from the runloop. But there is of course XS 
code that messes with SV internals.

leo