1997
DOI: 10.1007/3-540-62599-2_31
|View full text |Cite
|
Sign up to set email alerts
|

Type inference for late binding: The SmallEiffel Compiler

Abstract: The SmallEi el compiler uses a simple type inference mechanism to translate Ei el source code to C code. The most important aspect in our technique is that many occurrences of late binding are replaced by static binding. Moreover, when dynamic dispatch cannot be removed, inlining is still possible. The advantage of this approach is that it speeds up execution time and decreases considerably the amount of generated code. SmallEi el compiler source code itself is a large scale benchmark used to show the quality … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
12
0

Year Published

1999
1999
2014
2014

Publication Types

Select...
6
2
2

Relationship

2
8

Authors

Journals

citations
Cited by 17 publications
(13 citation statements)
references
References 8 publications
1
12
0
Order By: Relevance
“…The compilation of living code from Eiffel to C is systematic, but C files are recompiled only when they have been modified. Collin et al 1997] describe in detail those techniques and experimental results which show a clear improvement w.r.t. existing Eiffel compilers.…”
Section: · 35mentioning
confidence: 99%
“…The compilation of living code from Eiffel to C is systematic, but C files are recompiled only when they have been modified. Collin et al 1997] describe in detail those techniques and experimental results which show a clear improvement w.r.t. existing Eiffel compilers.…”
Section: · 35mentioning
confidence: 99%
“…Furthermore, our empirical study (see Section 5) shows that only 1.7% of all method changes require explicit method dispatching. The SmallEiffel compiler uses a similar mechanism to efficiently dispatch polymorphic methods [11,37] and the authors show that replacing a dynamic method call by two static method calls produces a better performance than the invokevirtual instruction on a conventional Java Virtual Machine [38].…”
Section: Dispatching Classesmentioning
confidence: 99%
“…In Smart Eiffel, the GNU Eiffel compiler, method tables are not used. Instead, objects are tagged by their class identifier and all polymorphic operations-particularly subtyping tests-are implemented using small dispatch trees Collin et al 1997]. However, the approach is practical only because compilation is global, hence all classes are statically known.…”
Section: Binary Tree Dispatch (Btd)mentioning
confidence: 99%