A Partial Read Barrier for Efficient Support of Live Object-oriented Programming
Live programming, originally introduced by Smalltalk and Lisp, and now gaining popularity in contemporary systems such as Swift, requires on-the-fly support for object schema migration, such that the layout of objects may be changed while the program is at one and the same time being run and developed. In Smalltalk schema migration is supported by two primitives, one that answers a collection of all instances of a class, and one that exchanges the identities of pairs of objects, called the become primitive. Existing instances are collected, copies using the new schema created, state copied from old to new, and the two exchanged with become, effecting the schema migration.
Historically the implementation of become has either required an extra level of indirection between an object’s address and its body, slowing down objects field accesses, or has required a sweep of the entire object heap, a very slow operation on large heaps. Spur, a new object representation and memory manager for Smalltalk-like languages, has neither of these deficiencies. It uses direct pointers but still provides a fast become operation in large heaps, thanks to forwarding objects that when read conceptually answer another object and a partial read barrier that avoids the cost of explicitly checking for forwarding objects each time an object’s pointer is indirected through.
Sun 14 JunDisplayed time zone: Tijuana, Baja California change
14:00 - 15:40
Managed LanguagesResearch Papers at C123
Chair(s): Zheng Zhang Rutgers University
|Stop and Go: Understanding Yieldpoint Behavior|
Yi Lin Australian National University, Kunshan Wang Australian National University, Steve Blackburn Australian National University , Tony Hosking Purdue University, Michael Norrish NICTALink to publication
|Safe and Efficient Hybrid Memory Management for Java|
Codrut Stancu University of California, Irvine & Oracle Labs, Christian Wimmer Oracle Labs, Stefan Brunthaler University of California, Irvine, Per Larsen University of California, Irvine, Michael Franz University of California, IrvineLink to publication
|A Partial Read Barrier for Efficient Support of Live Object-oriented Programming|
Eliot Miranda Cadence Design Systems, Clément Béra RMOD - INRIA Lille Nord EuropeLink to publication
|Memento Mori: Dynamic Allocation-Site-Based Optimizations|
Daniel Clifford Google, Hannes Payer Google, Michael Stanton , Ben L. Titzer GoogleLink to publication