Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pixie(1) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

prof(1)

pixstats(1)



pixie(1)                 USER COMMANDS                   pixie(1)



NAME
     pixie - add profiling code to a program

SYNOPSIS
     pixie in_prog_name [ options ]

DESCRIPTION
     Pixie reads an executable program, partitions it into  basic
     blocks,  and  writes  an equivalent program containing addi-
     tional code that counts the execution of each  basic  block.
     (A  basic  block  is  a  region  of  the program that can be
     entered only at the beginning and exited only at  the  end).
     Pixie  also  generates a file containing the address of each
     of the basic blocks.

     When you run the pixie-generated program, it will  (provided
     it  terminates normally or via a call to exit(2)) generate a
     file containing the basic block counts. The name of the file
     is  that  of the original program with any leading directory
     names removed and  ".Counts"  appended.   prof(1)  and  pix-
     stats(1)  can  analyze  these files and produce a listing of
     profiling data.

     -[no]quiet
          [Permits]  or  suppresses  messages   summarizing   the
          binary-to-binary    translation    process.    Default:
          -noquiet.

     -[no]branchcounts
          -branchcounts inserts extra counters to  track  whether
          each  branch  instruction  is taken or not taken.  When
          this option is used, pixstats will automatically  print
          more statistics. Default: -nobranchcounts.

     -[no]idtrace
          [Disable] or enable tracing  of  instruction  and  data
          memory  references.   -idtrace  is  equivalent to using
          both -itrace and -dtrace  together.   Default:   -noid-
          trace

     -[no]itrace
          [Disable]  or  enable  tracing  of  instruction  memory
          references.  Default:  -noitrace

     -[no]dtrace
          [Disable] or enable tracing of data memory  references.
          For  the  moment,  -dtrace  requires -itrace.  Default:
          -nodtrace

     -idtracefile number
          Specify a UNIX file descriptor  number  for  the  trace
          output file.  Default:  19.



                                                                1





pixie(1)                 USER COMMANDS                   pixie(1)



     -bbaddrs name
          Specify a name for the file of basic  block  addresses.
          Default  is  to remove any leading directory names from
          the in_prog_name and append ".Addrs".

     -bbcounts name
          Specifies the full filename of the basic  block  counts
          file. Default: objfile.Counts.

     -mips1
          Use the MIPS1 instruction set (R2000, R3000) for output
          executable.  This is the default.

     -mips2
          Use the MIPS2 instruction set (a superset of MIPS1) for
          output executable.

SEE ALSO
     prof(1), pixstats(1).
     The MIPS Languages Programmer's Guide.

BUGS
     The handler function address to the signal system  calls  is
     not  translated,  and  so programs that receive signals will
     not work pixified.

     Programs that call vfork() will not  work  pixified  because
     the  child process will modify the parent state required for
     pixie operation.  Use fork() instead.

     Pixified code is  substantially  larger  than  the  original
     code.   Conditional  branches that used to fit in the 16-bit
     branch displacement field may no longer  fit,  generating  a
     pixie error.





















                                                                2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026