Revision: 867 Author: tim.bunce Date: Fri Oct 2 14:39:08 2009 Log: Generate list of slowops via the Opcode module. Add many more ops as slowops.
http://code.google.com/p/perl-devel-nytprof/source/detail?r=867 Modified: /trunk/Changes /trunk/Makefile.PL /trunk/slowops.h ======================================= --- /trunk/Changes Mon Sep 28 02:24:24 2009 +++ /trunk/Changes Fri Oct 2 14:39:08 2009 @@ -6,9 +6,7 @@ =head2 Changes in Devel::NYTProf 2.11 -XXX slowops needs docs and more ops XXX subroutine profiler docs need update -XXX doc findcaller option XXX note here and doc goto behaviour XXX update and test JIT ======================================= --- /trunk/Makefile.PL Thu Aug 6 17:20:13 2009 +++ /trunk/Makefile.PL Fri Oct 2 14:39:08 2009 @@ -191,6 +191,13 @@ prove:: pure_all time nice prove -b -j 9 --shuffle +slowops:: + perl -MOpcode=opset_to_ops,opset \ + -e 'print "/* generated by Makefile.PL for perl $$] */\n";' \ + -e 'my @ops = opset_to_ops(opset(":base_io",":filesys_read",":filesys_write",":filesys_open",":sys_db",":subprocess",":others",qw(rand srand match subst substcont qr regcomp prtf crypt chdir flock ioctl socket getpeername ssockopt bind connect listen accept shutdown gsockopt getsockname sleep sort pack unpack require dofile syscall dump chroot dbmopen dbmclose lock sselect select),"!fileno"));' \ + -e 'print "PL_ppaddr[OP_\U$$_\E] = pp_slowop_profiler;\n" for sort @ops;' \ + > slowops.h + svnmanifest:: svn list -R ....@head | sort | grep -v '/$$' > MANIFEST svn diff MANIFEST ======================================= --- /trunk/slowops.h Tue Jul 21 22:29:04 2009 +++ /trunk/slowops.h Fri Oct 2 14:39:08 2009 @@ -1,21 +1,153 @@ -PL_ppaddr[OP_CLOSEDIR] = pp_slowop_profiler; +/* generated by Makefile.PL for perl 5.008006 */ +PL_ppaddr[OP_ACCEPT] = pp_slowop_profiler; +PL_ppaddr[OP_BACKTICK] = pp_slowop_profiler; +PL_ppaddr[OP_BIND] = pp_slowop_profiler; +PL_ppaddr[OP_BINMODE] = pp_slowop_profiler; +PL_ppaddr[OP_CHDIR] = pp_slowop_profiler; +PL_ppaddr[OP_CHMOD] = pp_slowop_profiler; +PL_ppaddr[OP_CHOWN] = pp_slowop_profiler; +PL_ppaddr[OP_CHROOT] = pp_slowop_profiler; PL_ppaddr[OP_CLOSE] = pp_slowop_profiler; +PL_ppaddr[OP_CLOSEDIR] = pp_slowop_profiler; +PL_ppaddr[OP_CONNECT] = pp_slowop_profiler; +PL_ppaddr[OP_CRYPT] = pp_slowop_profiler; +PL_ppaddr[OP_DBMCLOSE] = pp_slowop_profiler; +PL_ppaddr[OP_DBMOPEN] = pp_slowop_profiler; +PL_ppaddr[OP_DOFILE] = pp_slowop_profiler; +PL_ppaddr[OP_DUMP] = pp_slowop_profiler; +PL_ppaddr[OP_EGRENT] = pp_slowop_profiler; +PL_ppaddr[OP_EHOSTENT] = pp_slowop_profiler; +PL_ppaddr[OP_ENETENT] = pp_slowop_profiler; +PL_ppaddr[OP_ENTERWRITE] = pp_slowop_profiler; +PL_ppaddr[OP_EOF] = pp_slowop_profiler; +PL_ppaddr[OP_EPROTOENT] = pp_slowop_profiler; +PL_ppaddr[OP_EPWENT] = pp_slowop_profiler; +PL_ppaddr[OP_ESERVENT] = pp_slowop_profiler; +PL_ppaddr[OP_FCNTL] = pp_slowop_profiler; +PL_ppaddr[OP_FLOCK] = pp_slowop_profiler; +PL_ppaddr[OP_FORK] = pp_slowop_profiler; +PL_ppaddr[OP_FORMLINE] = pp_slowop_profiler; +PL_ppaddr[OP_FTATIME] = pp_slowop_profiler; +PL_ppaddr[OP_FTBINARY] = pp_slowop_profiler; +PL_ppaddr[OP_FTBLK] = pp_slowop_profiler; +PL_ppaddr[OP_FTCHR] = pp_slowop_profiler; +PL_ppaddr[OP_FTCTIME] = pp_slowop_profiler; +PL_ppaddr[OP_FTDIR] = pp_slowop_profiler; +PL_ppaddr[OP_FTEEXEC] = pp_slowop_profiler; +PL_ppaddr[OP_FTEOWNED] = pp_slowop_profiler; +PL_ppaddr[OP_FTEREAD] = pp_slowop_profiler; +PL_ppaddr[OP_FTEWRITE] = pp_slowop_profiler; +PL_ppaddr[OP_FTFILE] = pp_slowop_profiler; +PL_ppaddr[OP_FTIS] = pp_slowop_profiler; +PL_ppaddr[OP_FTLINK] = pp_slowop_profiler; +PL_ppaddr[OP_FTMTIME] = pp_slowop_profiler; +PL_ppaddr[OP_FTPIPE] = pp_slowop_profiler; +PL_ppaddr[OP_FTREXEC] = pp_slowop_profiler; +PL_ppaddr[OP_FTROWNED] = pp_slowop_profiler; +PL_ppaddr[OP_FTRREAD] = pp_slowop_profiler; +PL_ppaddr[OP_FTRWRITE] = pp_slowop_profiler; +PL_ppaddr[OP_FTSGID] = pp_slowop_profiler; +PL_ppaddr[OP_FTSIZE] = pp_slowop_profiler; +PL_ppaddr[OP_FTSOCK] = pp_slowop_profiler; +PL_ppaddr[OP_FTSUID] = pp_slowop_profiler; +PL_ppaddr[OP_FTSVTX] = pp_slowop_profiler; +PL_ppaddr[OP_FTTEXT] = pp_slowop_profiler; +PL_ppaddr[OP_FTTTY] = pp_slowop_profiler; +PL_ppaddr[OP_FTZERO] = pp_slowop_profiler; +PL_ppaddr[OP_GETC] = pp_slowop_profiler; +PL_ppaddr[OP_GETLOGIN] = pp_slowop_profiler; +PL_ppaddr[OP_GETPEERNAME] = pp_slowop_profiler; +PL_ppaddr[OP_GETSOCKNAME] = pp_slowop_profiler; +PL_ppaddr[OP_GGRENT] = pp_slowop_profiler; +PL_ppaddr[OP_GGRGID] = pp_slowop_profiler; +PL_ppaddr[OP_GGRNAM] = pp_slowop_profiler; +PL_ppaddr[OP_GHBYADDR] = pp_slowop_profiler; +PL_ppaddr[OP_GHBYNAME] = pp_slowop_profiler; +PL_ppaddr[OP_GHOSTENT] = pp_slowop_profiler; +PL_ppaddr[OP_GLOB] = pp_slowop_profiler; +PL_ppaddr[OP_GNBYADDR] = pp_slowop_profiler; +PL_ppaddr[OP_GNBYNAME] = pp_slowop_profiler; +PL_ppaddr[OP_GNETENT] = pp_slowop_profiler; +PL_ppaddr[OP_GPBYNAME] = pp_slowop_profiler; +PL_ppaddr[OP_GPBYNUMBER] = pp_slowop_profiler; +PL_ppaddr[OP_GPROTOENT] = pp_slowop_profiler; +PL_ppaddr[OP_GPWENT] = pp_slowop_profiler; +PL_ppaddr[OP_GPWNAM] = pp_slowop_profiler; +PL_ppaddr[OP_GPWUID] = pp_slowop_profiler; +PL_ppaddr[OP_GSBYNAME] = pp_slowop_profiler; +PL_ppaddr[OP_GSBYPORT] = pp_slowop_profiler; +PL_ppaddr[OP_GSERVENT] = pp_slowop_profiler; +PL_ppaddr[OP_GSOCKOPT] = pp_slowop_profiler; +PL_ppaddr[OP_IOCTL] = pp_slowop_profiler; +PL_ppaddr[OP_LEAVEWRITE] = pp_slowop_profiler; +PL_ppaddr[OP_LINK] = pp_slowop_profiler; +PL_ppaddr[OP_LISTEN] = pp_slowop_profiler; +PL_ppaddr[OP_LOCK] = pp_slowop_profiler; +PL_ppaddr[OP_LSTAT] = pp_slowop_profiler; PL_ppaddr[OP_MATCH] = pp_slowop_profiler; +PL_ppaddr[OP_MKDIR] = pp_slowop_profiler; +PL_ppaddr[OP_MSGCTL] = pp_slowop_profiler; +PL_ppaddr[OP_MSGGET] = pp_slowop_profiler; +PL_ppaddr[OP_MSGRCV] = pp_slowop_profiler; +PL_ppaddr[OP_MSGSND] = pp_slowop_profiler; PL_ppaddr[OP_OPEN] = pp_slowop_profiler; PL_ppaddr[OP_OPEN_DIR] = pp_slowop_profiler; +PL_ppaddr[OP_PACK] = pp_slowop_profiler; +PL_ppaddr[OP_PRINT] = pp_slowop_profiler; +PL_ppaddr[OP_PRTF] = pp_slowop_profiler; +PL_ppaddr[OP_QR] = pp_slowop_profiler; PL_ppaddr[OP_RAND] = pp_slowop_profiler; +PL_ppaddr[OP_RCATLINE] = pp_slowop_profiler; +PL_ppaddr[OP_READ] = pp_slowop_profiler; PL_ppaddr[OP_READDIR] = pp_slowop_profiler; PL_ppaddr[OP_READLINE] = pp_slowop_profiler; -PL_ppaddr[OP_READ] = pp_slowop_profiler; +PL_ppaddr[OP_READLINK] = pp_slowop_profiler; +PL_ppaddr[OP_RECV] = pp_slowop_profiler; +PL_ppaddr[OP_REGCOMP] = pp_slowop_profiler; +PL_ppaddr[OP_RENAME] = pp_slowop_profiler; +PL_ppaddr[OP_REQUIRE] = pp_slowop_profiler; +PL_ppaddr[OP_REWINDDIR] = pp_slowop_profiler; +PL_ppaddr[OP_RMDIR] = pp_slowop_profiler; +PL_ppaddr[OP_SEEK] = pp_slowop_profiler; +PL_ppaddr[OP_SEEKDIR] = pp_slowop_profiler; PL_ppaddr[OP_SELECT] = pp_slowop_profiler; +PL_ppaddr[OP_SEMCTL] = pp_slowop_profiler; +PL_ppaddr[OP_SEMGET] = pp_slowop_profiler; +PL_ppaddr[OP_SEMOP] = pp_slowop_profiler; +PL_ppaddr[OP_SEND] = pp_slowop_profiler; +PL_ppaddr[OP_SGRENT] = pp_slowop_profiler; +PL_ppaddr[OP_SHMCTL] = pp_slowop_profiler; +PL_ppaddr[OP_SHMGET] = pp_slowop_profiler; +PL_ppaddr[OP_SHMREAD] = pp_slowop_profiler; +PL_ppaddr[OP_SHMWRITE] = pp_slowop_profiler; +PL_ppaddr[OP_SHOSTENT] = pp_slowop_profiler; +PL_ppaddr[OP_SHUTDOWN] = pp_slowop_profiler; PL_ppaddr[OP_SLEEP] = pp_slowop_profiler; +PL_ppaddr[OP_SNETENT] = pp_slowop_profiler; +PL_ppaddr[OP_SOCKET] = pp_slowop_profiler; +PL_ppaddr[OP_SORT] = pp_slowop_profiler; +PL_ppaddr[OP_SPROTOENT] = pp_slowop_profiler; +PL_ppaddr[OP_SPWENT] = pp_slowop_profiler; PL_ppaddr[OP_SRAND] = pp_slowop_profiler; +PL_ppaddr[OP_SSELECT] = pp_slowop_profiler; +PL_ppaddr[OP_SSERVENT] = pp_slowop_profiler; +PL_ppaddr[OP_SSOCKOPT] = pp_slowop_profiler; PL_ppaddr[OP_STAT] = pp_slowop_profiler; PL_ppaddr[OP_SUBST] = pp_slowop_profiler; -PL_ppaddr[OP_WAIT] = pp_slowop_profiler; +PL_ppaddr[OP_SUBSTCONT] = pp_slowop_profiler; +PL_ppaddr[OP_SYMLINK] = pp_slowop_profiler; +PL_ppaddr[OP_SYSCALL] = pp_slowop_profiler; PL_ppaddr[OP_SYSOPEN] = pp_slowop_profiler; -PL_ppaddr[OP_PRINT] = pp_slowop_profiler; -PL_ppaddr[OP_PRTF] = pp_slowop_profiler; -PL_ppaddr[OP_RENAME] = pp_slowop_profiler; +PL_ppaddr[OP_SYSREAD] = pp_slowop_profiler; +PL_ppaddr[OP_SYSSEEK] = pp_slowop_profiler; +PL_ppaddr[OP_SYSTEM] = pp_slowop_profiler; +PL_ppaddr[OP_SYSWRITE] = pp_slowop_profiler; +PL_ppaddr[OP_TELL] = pp_slowop_profiler; +PL_ppaddr[OP_TELLDIR] = pp_slowop_profiler; +PL_ppaddr[OP_TRUNCATE] = pp_slowop_profiler; +PL_ppaddr[OP_UMASK] = pp_slowop_profiler; PL_ppaddr[OP_UNLINK] = pp_slowop_profiler; -PL_ppaddr[OP_FCNTL] = pp_slowop_profiler; +PL_ppaddr[OP_UNPACK] = pp_slowop_profiler; +PL_ppaddr[OP_UTIME] = pp_slowop_profiler; +PL_ppaddr[OP_WAIT] = pp_slowop_profiler; +PL_ppaddr[OP_WAITPID] = pp_slowop_profiler; --~--~---------~--~----~------------~-------~--~----~ 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] -~----------~----~----~----~------~----~------~--~---
