Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

prof(1)

pixstats(1)

pixie(1)  —  Commands

Digital

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 additional 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 pixstats(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: −noidtrace

−[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

−idtrace_file number
Specify a UNIX file descriptor number for the trace output file.  Default: 19. 

−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. 

RESTRICTIONS

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. 

RELATED INFORMATION

prof(1), pixstats(1). 

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