Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
RCS—a system for version control
Software—Practice & Experience
A programmer's view of the Intel 432 system
A programmer's view of the Intel 432 system
Reduced instruction set computers
Communications of the ACM - Special section on computer architecture
An object oriented architecture
ISCA '85 Proceedings of the 12th annual international symposium on Computer architecture
Tagged architecture: how compelling are its advantages?
ISCA '85 Proceedings of the 12th annual international symposium on Computer architecture
Dhrystone: a synthetic systems programming benchmark
Communications of the ACM
Segment sizes and liftetimes in Algol 60 programs
Communications of the ACM
Implications of structured programming for machine architecture
Communications of the ACM
A performance evaluation of the Intel iAPX 432
ACM SIGARCH Computer Architecture News
Efficient implementation of the smalltalk-80 system
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Hardware/software tradeoffs for increased performance
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
Supporting ada memory management in the iAPX-432
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
IBM System/38 support for capability-based addressing
ISCA '81 Proceedings of the 8th annual symposium on Computer Architecture
RISC I: A Reduced Instruction Set VLSI Computer
ISCA '81 Proceedings of the 8th annual symposium on Computer Architecture
The CAP project - an interim evaluation
SOSP '77 Proceedings of the sixth ACM symposium on Operating systems principles
Hints for computer system design
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
The design of an object oriented architecture
ISCA '84 Proceedings of the 11th annual international symposium on Computer architecture
Architecture of SOAR: Smalltalk on a RISC
ISCA '84 Proceedings of the 11th annual international symposium on Computer architecture
The performance effects of functional migration and architectural complexity in object-oriented systems (risc)
Using registers to optimize cross-domain call performance
ASPLOS III Proceedings of the third international conference on Architectural support for programming languages and operating systems
Performance effects of architectural complexity in the Intel 432
ACM Transactions on Computer Systems (TOCS)
IEEE Expert: Intelligent Systems and Their Applications
Architectural solution to object-oriented programming
ACSAC'07 Proceedings of the 12th Asia-Pacific conference on Advances in Computer Systems Architecture
Hi-index | 0.00 |
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.