1999
DOI: 10.1145/320385.320407
|View full text |Cite
|
Sign up to set email alerts
|

Efficient multiple and predicated dispatching

Abstract: The speed of message dispatching is an important issue in the overall performance of object-oriented programs. We have developed an algorithm for constructing efficient dispatch functions that combines novel algorithms for efficient single dispatching, multiple dispatching, and predicate dispatching. Our algorithm first reduces methods written in the general predicate dispatching model (which generalizes single dispatching, multiple dispatching, predicate classes and classifiers, and pattern-matching) into one… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2007
2007
2023
2023

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 12 publications
(4 citation statements)
references
References 22 publications
0
4
0
Order By: Relevance
“…In this setting, residual dispatch at a join point shadow can be viewed as the evaluation of a finitary Boolean function f φ : B n → B, where B = {0, 1}, the so-called dispatch function [9]; whether an advice is applicable depends solely on the prior evaluation of the n atomic pointcuts occurring in φ, the residue in question. Residual dispatch thus bears close resemblance to predicate dispatch [12], even though the function's range is restricted to two outcomes: an advice is either applicable or not.…”
Section: Residues and Dispatch Functionsmentioning
confidence: 99%
See 1 more Smart Citation
“…In this setting, residual dispatch at a join point shadow can be viewed as the evaluation of a finitary Boolean function f φ : B n → B, where B = {0, 1}, the so-called dispatch function [9]; whether an advice is applicable depends solely on the prior evaluation of the n atomic pointcuts occurring in φ, the residue in question. Residual dispatch thus bears close resemblance to predicate dispatch [12], even though the function's range is restricted to two outcomes: an advice is either applicable or not.…”
Section: Residues and Dispatch Functionsmentioning
confidence: 99%
“…Then the sinks are relabeled according to g. Finally, subsequent applications of the reduction rules (cf. Figure 5) yield the reduced OBDD representing h. Decision diagrams have been employed, under the name of lookup DAGs, for the efficient implementation of both multiple and predicate dispatch [9]. But these decision diagrams are not necessarily binary; this complicates synthesis.…”
Section: Related Workmentioning
confidence: 99%
“…In this case a 2wcdt can be significantly smaller than a lookup table, and, likewise, faster and smaller than a conventional search tree, because a search tree has to identify a given query q (or the inter-key interval that q lies in) whereas a decision tree only has to identify q's class. Because they can be faster and more compact, 2wcdts are used in applications such as dispatch trees, which allow compilers and interpreters to quickly resolve method implementations for objects declared with type inheritance [2,3]. (Each type is assigned a numeric ID via a depth-first search of the inheritance digraph.…”
Section: Introductionmentioning
confidence: 99%
“…Chambers and Chen give a heuristic to construct low-cost 2wcdts, but leave open whether minimum-cost 2wcdts can be found in polynomial time [2,3]. We give the first polynomial-time algorithm to find minimum-cost 2wcdts.…”
Section: Introductionmentioning
confidence: 99%