I'm suspecting PUSHSTACKi(PERLSI_MAGIC) at the moment.
Chunks of NYTProf guts need a rethink. [Sigh.]
Meanwhile, try NYTPROF=slowops=0 or the current release version.
Tim.
On Fri, Dec 04, 2009 at 05:52:10PM +0000, Nicholas Clark wrote:
> On Fri, Dec 04, 2009 at 05:30:28PM +0000, Tim Bunce wrote:
> > Thanks for the reports Nick. I'll aim to work on them tonight.
>
> I tried to trigger the assertion via call_sv() or call_method(), but this
> XS code doesn't fail:
>
> #include "EXTERN.h"
> #include "perl.h"
> #include "XSUB.h"
>
> MODULE = Call PACKAGE = Call
>
> I32
> call_sv(sub_name, flags = 0)
> SV *sub_name
> I32 flags
>
> I32
> call_method(package, method)
> SV *package
> char *method
> CODE:
> PUSHMARK(SP);
> XPUSHs(package);
> PUTBACK;
>
> call_method(method, G_SCALAR);
>
>
> even with (guesswork) contortions to try to get it to fire within a subst at
> the same point as SWASH loading:
>
> /home/nclark/Sandpit/snap5.9.x-v5.11.2-111-gdcae3e3/bin/perl5.11.2 -d:NYTProf
> -Mblib -MCall -wle '; sub foo {warn "Bing"}; $_ = "N";
> m/.(?{Call::call_method("main", "foo")})/'
>
>
> I really don't know XS, or perl stack manipulation - it's probably possible
> to re-write that call_method without a PUSHMARK/PUTBACK, and pass arguments,
> by copying package ST(0) to ST(1) and then moving something.
>
> Nicholas Clark
>
> --
> You've received this message because you are subscribed to
> the Devel::NYTProf Development User group.
>
> Group hosted at: http://groups.google.com/group/develnytprof-dev
> Project hosted at: http://perl-devel-nytprof.googlecode.com
> CPAN distribution: http://search.cpan.org/dist/Devel-NYTProf
>
> To post, email: [email protected]
> To unsubscribe, email: [email protected]
--
You've received this message because you are subscribed to
the Devel::NYTProf Development User group.
Group hosted at: http://groups.google.com/group/develnytprof-dev
Project hosted at: http://perl-devel-nytprof.googlecode.com
CPAN distribution: http://search.cpan.org/dist/Devel-NYTProf
To post, email: [email protected]
To unsubscribe, email: [email protected]