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]
-~----------~----~----~----~------~----~------~--~---

Reply via email to