Title :
Run-time code generation as a central system service
Author_Institution :
Dept. of Inf. & Comput. Sci., California Univ., Irvine, CA, USA
Abstract :
We are building an operating system in which an integral run time code generator constantly strives to improve the quality of already executing code. Our system is based on a platform independent software distribution format twice as dense as Java byte codes that is translated into native code only at the time of loading. This initial translation happens in a single burst and puts compilation speed ahead of code quality, so that program execution can commence immediately. However, the native code generated during loading will usually not be executed for long. Immediately after a program has started running, its code image becomes a candidate for reoptimization. A background process that executes only during otherwise idle processor cycles continuously recompiles parts of the already running system, guided by run time profiling data, and is able to substitute already executing code in situ. This reoptimization encompasses not only user programs, but also many of the system libraries, eventually combining an application program and most of its dynamically loaded extensions and libraries into a single, fully cross optimized, quasi monolithic code image. Our system is thereby able to provide the efficiency of statically optimized software in spite of being extensible at run time
Keywords :
application generators; automatic programming; operating systems (computers); optimising compilers; software quality; Java byte codes; background process; central system service; code image; code quality; compilation speed; dynamically loaded extensions; executing code; fully cross optimized quasi monolithic code image; idle processor cycles; integral run time code generator; native code; platform independent software distribution format; program execution; reoptimization; run time profiling data; statically optimized software; system libraries; Application software; Computer science; File systems; Java; Modems; Operating systems; Programming profession; Resource management; Runtime; Software libraries;
Conference_Titel :
Operating Systems, 1997., The Sixth Workshop on Hot Topics in
Conference_Location :
Cape Cod, MA
Print_ISBN :
0-8186-7834-8
DOI :
10.1109/HOTOS.1997.595192