2010
DOI: 10.1145/1839667.1839669
|View full text |Cite
|
Sign up to set email alerts
|

Automatic feedback-directed object fusing

Abstract: Object fusing is an optimization that embeds certain referenced objects into their referencing object. The order of objects on the heap is changed in such a way that objects that are accessed together are placed next to each other in memory. Their offset is then fixed, i.e., the objects are colocated, allowing field loads to be replaced by address arithmetic. Array fusing specifically optimizes arrays, which are frequently used for the implementation of dynamic data structures. Therefore, the length of arrays … 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

2013
2013
2018
2018

Publication Types

Select...
3
3

Relationship

1
5

Authors

Journals

citations
Cited by 8 publications
(4 citation statements)
references
References 28 publications
0
4
0
Order By: Relevance
“…The current approaches such as generic programming store references to the data elements in the nodes of the collection [11], [12]. This causes the mentioned issues in Sect.…”
Section: Related Workmentioning
confidence: 99%
“…The current approaches such as generic programming store references to the data elements in the nodes of the collection [11], [12]. This causes the mentioned issues in Sect.…”
Section: Related Workmentioning
confidence: 99%
“…Since then it has been applied to array-bound check elimination [71], escape analysis and stack allocation [36], object fusing [68], boxing elimination [15] and partial redundancy elimination [44].…”
Section: Other Approaches To High Performancementioning
confidence: 99%
“…Object colocation [11] allocates related objects together in the same space, but requires explicit support from the garbage collector and is intended to reduce the cost of collection rather than to improve the efficiency of compiled code. Object and array fusing [21] uses colocation to improve the efficiency of accessing one object through the field of another in compiled code, but also requires explicit support from the garbage collector. Object combining [19] is closest to allocation folding in that it has fewer restrictions, but works best with patterns where an indirection can be eliminated, and the opportunity for eliminating write barriers was not recognized at the time.…”
Section: Related Workmentioning
confidence: 99%
“…Unlike object inlining [5], object fusing [21], or object colocation [11], the objects that are put into an allocation group need not have any specific ownership or connectivity relationship. In fact, once the objects in a group are allocated and initialized, the garbage collector may reclaim, move, or promote them independently of each other.…”
Section: Introductionmentioning
confidence: 99%