TJ's Home Page

In January of 1992 Parag Patel and I founded CodeGen, Inc.. Our intent was to write and market an ANSI C cross compiler for use in developing embedded systems. Many parts of this project are complete but we have as yet to pull the whole thing together. This will likely happen in the comming years, but the release of this project is not imminate.

We have taken a portion of this work and incorporated it into other products. SmartAlloc is a replacement for the malloc memory allocation routines that come standard with most C compilers. Our compiler being written in C++ makes heavy use of the memory allocator and we opted to fix the performance problems in the various memory allocators that we have encountered rather than bastardize our code to work around the performance problems. SmartAlloc is an O(1) allocator like the buddy system allocator in 4.3BSD. Unlike the 4.3BSD allocator, it uses memory efficiently rather than wasting large portions of memory.

In addition to SmartAlloc, we have taken the ANSI C preprocessor and frontend and created the FileUse tool. This tool processes ANSI C source code and determines what included header files are actually used and why they are used. Have you every wanted to know why a peice of code included a particular header file, FileUse can tell you. In addition, it can tell you what header files that you're currently including that are no longer needed.

While we work on completing the compiler, we have been replenishing our bank accounts by consulting with various computer and software companies around the San Francisco Bay Area. We have done work for Sun Microsystems, Tandem Computers, Taligent, and Informix, among others. We are always seeking interesting work in the areas of operating system software and language compilers.

Other info:
Thomas J. Merritt
PO Box 3357
Oakland, CA 94609
(510) 652-0151 x115