1. A computer controlled method for improving performance of a compiler, said method comprising the steps of: (a) performing an initial compilation of said source program; (b) creating said intermediate compilation datum associated with said specific compilation phase performed during said initial compilation; (c) saving said intermediate compilation datum as said first journaled datum; (d) recompiling a source program during a subsequent compilation; and (e) using a first journaled datum in lieu of recreating an intermediate compilation datum associated with a specific compilation phase during said subsequent compilation; wherein said source program is an object-oriented program; wherein said intermediate compilation datum represents an optimization decision datum; wherein said optimization decision datum comprises a target application-binary-interface dependent information.