Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/781915.781927dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
Article
Free access

Optimized code restructuring of OS/2 executables

Published: 07 November 1995 Publication History

Abstract

This paper describes the design and algorithms of FDPR/2 (Feedback Directed Program Restructuring of OS/2 executables), a general-purpose tool that can be used to instrument, profile, and restructure/optimize OS/2 executables for the tel x86 architecture. The optimizations delivered by FDPR/2's restructuring include improved utilization of the (instruction) memory hierarchy, improved branch alignment, and dead code elimination. These optimizations are known to be critical for object-oriented programs written in C++, and the relative performance gains observed are higher for large programs such as database engines, compilers, and debuggers that have large working sets and complex control flow. The code restructuring in FDPR/2 is performed at the basic-block granularity with the flexibility of general code motion of basic blocks across function boundaries.A full-function prototype of FDPR/2 has been developed at IBM, targeted to restructure OS/2 Intel executables and DLLs generated by the IBM Visual Age C++ compiler and linker. The performance gains delivered by FDPR/2 have been quite encouraging so far; e.g., a performance gain of about 18% has been achieved for launching and closing IPMD, the interactive debugger in Visual Age C++.An important characteristic of FDPR/2 is that it does not require any access or change to the source code of applications that it instruments or restructures. All it requires are the executables and the Dynamically Linked Libraries (DLL's) that make up an application, thus making it suitable for use by independent software vendors to optimize their applications written for the OS/2 platform and compiled by the Visual Age C++ compiler.

References

[1]
{1} IBM OS/2 16/32-bit Object Module Format (OMF) and linear eXecutable Module Format (LX). Revision 8, June 1994.
[2]
{2} Thomas Ball and James Larus. Optimally Profiling and Tracing Programs. ACM Transactions on Programming Languages and Systems, 16:1319-59, July 1994.
[3]
{3} Randy Heisch. Trace-directed Program Restructuring for AIX Executables. IBM Journal of Research and Development, 38(5):595-604, 1994.
[4]
{4} Wen-Mei W. Hwu and Pohua P. Chang. Achieving High Instruction Cache Performnace with an Optimizing Compiler. In ACM International Symposium on Computer Architecture, pages 242-250, 1989.
[5]
{5} James Larus and Thomas Ball. Rewriting Executable Files to Measure Program Behavior. Software - Practice and Experience, 24(2):197-218, 1994.
[6]
{6} Rajeev Motwani and Vivek Sarkar. Optimal Selection of Short-Branch Instructions. Technical Report, June, 1995.
[7]
{7} Karl Pettis and Robert C. Hansen. Profile Guided Code Positioning. In ACM Sigplan Conference on Programming Language Design and Implementation, pages 16-27, 1990.
[8]
{8} Barbara Simons. Code Positioning for Procedures and Basic Blocks. Technical Report ADTI-1994-006; also available as STL TR 03.580, Application Development Technology Institute, 1994.
[9]
{9} Amitabh Srivastava and Alan Eustace. ATOM: A System for Building Customized Program Analysis Tools. In ACM Sigplan Conference on Programming Language Design and Implementation, pages 196-205, 1994.
[10]
{10} Amitabh Srivastava and David W. Wall. A Practical System for Intermodule Code Optimization at Link-Time. Journal of Programming Languages, 1:1-18, March 1993. Also appeared as WRL Research Report 92/6.
[11]
{11} Thomas G. Symanski Assembling Code for Machines with Span-Dependent Instructions. Communications of the ACM, 21(4)1:300-308, April 1978.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image DL Hosted proceedings
CASCON '95: Proceedings of the 1995 conference of the Centre for Advanced Studies on Collaborative research
November 1995
722 pages

Sponsors

  • IBM Canada: IBM Canada
  • NRC: National Research Council - Canada

Publisher

IBM Press

Publication History

Published: 07 November 1995

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 24 of 90 submissions, 27%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 211
    Total Downloads
  • Downloads (Last 12 months)26
  • Downloads (Last 6 weeks)9
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media