2009
DOI: 10.1016/j.scico.2009.04.001
|View full text |Cite
|
Sign up to set email alerts
|

Efficient virtual machine support of runtime structural reflection

Abstract: a b s t r a c tIncreasing trends towards adaptive, distributed, generative and pervasive software have made object-oriented dynamically typed languages become increasingly popular. These languages offer dynamic software evolution by means of reflection, facilitating the development of dynamic systems. Unfortunately, this dynamism commonly imposes a runtime performance penalty. In this paper, we describe how to extend a production JITcompiler virtual machine to support runtime object-oriented structural reflect… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
17
0
1

Year Published

2011
2011
2022
2022

Publication Types

Select...
3
3

Relationship

4
2

Authors

Journals

citations
Cited by 31 publications
(18 citation statements)
references
References 45 publications
0
17
0
1
Order By: Relevance
“…These two languages perform every type-checking operation over dynamic references at runtime, using reflection. The use of reflective operations in the .Net platform has an important performance cost [16]. The difference between C# and VB shows the performance benefit of using the DLR in this scenario.…”
Section: Assessmentmentioning
confidence: 99%
“…These two languages perform every type-checking operation over dynamic references at runtime, using reflection. The use of reflective operations in the .Net platform has an important performance cost [16]. The difference between C# and VB shows the performance benefit of using the DLR in this scenario.…”
Section: Assessmentmentioning
confidence: 99%
“…Common target platforms such as Java and .NET do not allow a variable to have multiple different types, and they do not provide a dynamic type either. If a compiler generates code replacing dynamically typed references with Object, the required type casts would slow down the execution of the application . To avoid this runtime performance penalty, we transform the AST into another one where each dynamically type reference is (statically) assigned at most once.…”
Section: Design Principlesmentioning
confidence: 99%
“…The ternary conditional operator is used to dynamically check the actual type of the expression, checking the possible types in the union type . At runtime, this conditional code is significantly faster than reflection, the approach taken by C# and VB (Section 4).…”
Section: Design Principlesmentioning
confidence: 99%
See 1 more Smart Citation
“…When a reference is declared as dynamic, every operation over that reference is performed at runtime using reflection. Since the usage of reflective operations in the .NET platform has an important performance cost [27], the execution time is significantly incremented.…”
Section: Runtime Performancementioning
confidence: 99%