Revision: 1132
Author: [email protected]
Date: Mon Mar 8 01:49:06 2010
Log: Move sub info processing into load_perl_callback().
http://code.google.com/p/perl-devel-nytprof/source/detail?r=1132
Modified:
/trunk/NYTProf.xs
=======================================
--- /trunk/NYTProf.xs Mon Mar 8 01:49:02 2010
+++ /trunk/NYTProf.xs Mon Mar 8 01:49:06 2010
@@ -4053,7 +4053,7 @@
{STR_WITH_LEN("DISCOUNT"), NULL},
{STR_WITH_LEN("NEW_FID"), "uuuuuuS"},
{STR_WITH_LEN("SRC_LINE"), "uuS"},
- {STR_WITH_LEN("SUB_INFO"), NULL},
+ {STR_WITH_LEN("SUB_INFO"), "uuus"},
{STR_WITH_LEN("SUB_CALLERS"), NULL},
{STR_WITH_LEN("PID_START"), NULL},
{STR_WITH_LEN("PID_END"), NULL},
@@ -4099,6 +4099,14 @@
XPUSHs(cb_args[i++]);
break;
}
+ case 's':
+ {
+ SV *sv = va_arg(args, SV *);
+
+ sv_setsv(cb_args[i], sv);
+ XPUSHs(cb_args[i++]);
+ break;
+ }
case 'S':
{
SV *sv = va_arg(args, SV *);
@@ -4357,18 +4365,8 @@
(void)read_int(in);
if (cb) {
- PUSHMARK(SP);
-
- i = 0;
- sv_setpvs(cb_args[i], "SUB_INFO");
XPUSHs(cb_args[i++]);
- sv_setuv(cb_args[i], fid);
XPUSHs(cb_args[i++]);
- sv_setuv(cb_args[i], first_line);
XPUSHs(cb_args[i++]);
- sv_setuv(cb_args[i], last_line);
XPUSHs(cb_args[i++]);
- sv_setsv(cb_args[i], subname_sv);
XPUSHs(cb_args[i++]);
-
- PUTBACK;
- call_sv(cb, G_DISCARD);
- SPAGAIN;
+ load_perl_callback(&state, nytp_sub_info, fid,
first_line,
+ last_line, subname_sv);
break;
}
--
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]