Object-Oriented Programming
DOI: 10.1007/3-540-49538-x_13
|View full text |Cite
|
Sign up to set email alerts
|

Message Dispatch on Pipelined Processors

Abstract: Abstract. Object-oriented systems must implement message dispatch efficiently in order not to penalize the object-oriented programming style. We characterize the performance of most previously published dispatch techniques for both statically-and dynamically-typed languages with both single and multiple inheritance. Hardware organization (in particular, branch latency and superscalar instruction issue) significantly impacts dispatch performance. For example, inline caching may outperform C++-style "vtables" on… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
22
0

Publication Types

Select...
3
3
2

Relationship

1
7

Authors

Journals

citations
Cited by 20 publications
(22 citation statements)
references
References 32 publications
0
22
0
Order By: Relevance
“…We give a very brief summary of the dispatch techniques. For detailed descriptions, see [Dri93], and for a comparison of relative dispatch performance, see [DHV95].…”
Section: Methods Dispatch Techniquesmentioning
confidence: 99%
See 1 more Smart Citation
“…We give a very brief summary of the dispatch techniques. For detailed descriptions, see [Dri93], and for a comparison of relative dispatch performance, see [DHV95].…”
Section: Methods Dispatch Techniquesmentioning
confidence: 99%
“…Note that during dispatch, indirections may incur a penalty beyond just the operation itself due to load latency (in pipelined processors, the result of a load started in cycle i is not available until cycle i+L). In the analysis of [DHV95], it is assumed that the load latency, L, is 2 (non-pipelined processors can assume L = 1). This implies that each extra indirection incurred by the DTF algorithms will slow down dispatch by at least one cycle (for the load itself) and by at most L cycles (if there are not other operations that can be performed while waiting for the load).…”
Section: Effects On Dispatch Performancementioning
confidence: 99%
“…Inlining [2,10], method devirtualisation [13] and techniques for the efficient implementation of message dispatch [11] have been extensively researched.…”
Section: Inliningmentioning
confidence: 99%
“…However, modern pipelined processors execute the additional o set adjustment instruction during the delay time required for branching to the method's code [11]. So, surprisingly, multiple inheritance overheads are negligible even in the presence of polymorphic variables.…”
Section: Javamentioning
confidence: 99%