1998
DOI: 10.1145/301589.286876
|View full text |Cite
|
Sign up to set email alerts
|

Portable run-time type description for conventional compilers

Abstract: Many useful programming language extensions and system support libraries require knowledge of the locations of fields within objects at run time. Examples include orthogonal persistent object stores, precise garbage collectors, data structure picklers, and parameter marshaling schemes.For clean and efficient implementation as libraries, these systems require run-time knowledge of in-memory layouts of data objects, which is unavailable in most traditionally compiled and linked programming languages, such as C, … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

1998
1998
1999
1999

Publication Types

Select...
2
1

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(5 citation statements)
references
References 3 publications
0
5
0
Order By: Relevance
“…We have designed Persistent Modula-3 for a move to compiler-inserted barriers in later versions, without needing to change the mostly-copying heap management mechanism. Just 'as easily, one might re-engineer the Texas persistent store to provide mostly-copying persistence by reachability for C++, based on the heap layout information for swizzling that Texas extracts from debugging information provided by the GNU C++ compiler [56].…”
Section: Storage Architecture Flexibilitymentioning
confidence: 99%
“…We have designed Persistent Modula-3 for a move to compiler-inserted barriers in later versions, without needing to change the mostly-copying heap management mechanism. Just 'as easily, one might re-engineer the Texas persistent store to provide mostly-copying persistence by reachability for C++, based on the heap layout information for swizzling that Texas extracts from debugging information provided by the GNU C++ compiler [56].…”
Section: Storage Architecture Flexibilitymentioning
confidence: 99%
“…This is not to say that C++ itself will not succumb to orthogonal persistence. In fact, we are also exploring this possibility through extension of Texas with persistence by reachability, by marrying a garbage collector to Texas's portable run-time type descriptors [56] to obtain accurate information on the location of references stored in the heap.…”
Section: Performancementioning
confidence: 99%
“…We have designed Persistent Modula-3 for a move to compiler-inserted barriers in later versions, without needing to change the mostly-copying heap management mechanism. Just 'as easily, one might re-engineer the Texas persistent store to provide mostly-copying persistence by reachability for C++, based on the heap layout information for swizzling that Texas extracts from debugging information provided by the GNU C++ compiler [56]. A traced reference type REF T refers to heap-allocated storage (of type T) that is automatically reclaimed by the garbage collector whenever there are no longer any references to it.3 The type REFANY contains all references.…”
Section: Storage Architecture Flexibilitymentioning
confidence: 99%
“…Another possibility would be to obtain layout information for objects from compiler debug output, as in Wilson's type descriptor generator system, even though this technique is less portable. 26 Beard 27 suggested the use of Cϩϩ pointers to member for implementing traverse(). Each class would contain a static table with pointers to members of the class that are pointers to collected objects.…”
Section: Using the Defaultheapmentioning
confidence: 99%
“…Another possibility would be to use the technique of Run Time Type Description 26 in order to obtain the layout information for objects needed by the collector to perform tracing.…”
Section: Applicabilitymentioning
confidence: 99%