Fast object-oriented procedure calls: lessons from the Intel 432
- 1 May 1986
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 14 (2) , 92-101
- https://doi.org/10.1145/17356.17367
Abstract
As modular programming grows in importance, the efficiency of procedure calls assumes an ever more critical role in system performance. Meanwhile, software designers are becoming more aware of the benefits of object-oriented programming in structuring large software systems. But object-oriented programming requires a good deal of support, which can best be distributed between the compiler and architectural levels. A major part of this support relates to the execution of procedure calls. Must such support exact an unacceptable performance penalty? By considering the case of the Intel 432, a prominent object-oriented architecture, we argue that it need not. The 432 provided all the facilities needed to support object orientation. Though its procedure call was slow, the reasons were only tenuously related to object orientation. Most of the inefficiency could be removed in future designs by the adoption of a few new mechanisms: stack-based allocation of contexts, a memory-clearing coprocessor, and the use of multiple register sets to hold addressing information. These proposals offer the prospect of an object-oriented procedure call that can, on average, be performed nearly as fast as an ordinary unprotected procedure call.Keywords
This publication has 16 references indexed in Scilit:
- Rcs — a system for version controlSoftware: Practice and Experience, 1985
- Reduced instruction set computersCommunications of the ACM, 1985
- DhrystoneCommunications of the ACM, 1984
- Hints for computer system designACM SIGOPS Operating Systems Review, 1983
- A performance evaluation of the Intel iAPX 432ACM SIGARCH Computer Architecture News, 1982
- Fast procedure callsPublished by Association for Computing Machinery (ACM) ,1982
- Hardware/software tradeoffs for increased performancePublished by Association for Computing Machinery (ACM) ,1982
- Implications of structured programming for machine architectureCommunications of the ACM, 1978
- The CAP project - an interim evaluationPublished by Association for Computing Machinery (ACM) ,1977
- Segment sizes and liftetimes in Algol 60 programsCommunications of the ACM, 1977