Simple generational garbage collection and fast allocation
Software—Practice & Experience
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Effective “static-graph” reorganization to improve locality in garbage-collected systems
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Object-oriented metrics: measures of complexity
Object-oriented metrics: measures of complexity
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Vortex: an optimizing compiler for object-oriented languages
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Back to the future: the story of Squeak, a practical Smalltalk written in itself
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A customisable memory management framework for C++
Software—Practice & Experience
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Adaptive optimization in the Jalapeño JVM
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A real-time garbage collector based on the lifetimes of objects
Communications of the ACM
On-the-fly garbage collection: an exercise in cooperation
Communications of the ACM
An efficient, incremental, automatic garbage collector
Communications of the ACM
The case for profile-directed selection of garbage collectors
Proceedings of the 2nd international symposium on Memory management
Java without the coffee breaks: a nonintrusive multiprocessor garbage collector
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Composing high-performance memory allocators
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
A parallel, real-time garbage collector
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
An on-the-fly reference counting garbage collector for Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
In or out?: putting write barriers in their place
Proceedings of the 3rd international symposium on Memory management
Beltway: getting around garbage collection gridlock
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Shared Source Cli Essentials
A real-time garbage collector with low overhead and consistent utilization
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Concurrent Cycle Collection in Reference Counted Systems
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Older-first garbage collection in practice: evaluation in a Java Virtual Machine
Proceedings of the 2002 workshop on Memory system performance
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Engineering a customizable intermediate representation
Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators
Mark-copy: fast copying GC with less space overhead
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Ulterior reference counting: fast garbage collection without a long wait
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Myths and realities: the performance impact of garbage collection
Proceedings of the joint international conference on Measurement and modeling of computer systems
IBM Systems Journal
A customisable memory management framework
CTEC'94 Proceedings of the 6th conference on USENIX Sixth C++ Technical Conference - Volume 6
Integrating generations with advanced reference counting garbage collectors
CC'03 Proceedings of the 12th international conference on Compiler construction
Myths and realities: the performance impact of garbage collection
Proceedings of the joint international conference on Measurement and modeling of computer systems
The garbage collection advantage: improving program locality
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
MC2: high-performance garbage collection for memory-constrained environments
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Finding your cronies: static analysis for dynamic object colocation
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Vertical profiling: understanding the behavior of object-priented applications
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Automatic heap sizing: taking real memory into account
Proceedings of the 4th international symposium on Memory management
Dynamic object sampling for pretenuring
Proceedings of the 4th international symposium on Memory management
Garbage collection without paging
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Quantifying the performance of garbage collection vs. explicit memory management
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Generating object lifetime traces with Merlin
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reducing generational copy reserve overhead with fallback compaction
Proceedings of the 5th international symposium on Memory management
Compile-time deallocation of individual objects
Proceedings of the 5th international symposium on Memory management
Fast and efficient partial code reordering: taking advantage of dynamic recompilatior
Proceedings of the 5th international symposium on Memory management
The Compressor: concurrent, incremental, and parallel compaction
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Free-Me: a static analysis for automatic individual object reclamation
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
The DaCapo benchmarks: java benchmarking development and analysis
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Bell: bit-encoding online memory leak detection
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
PyPy's approach to virtual machine construction
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Smarter garbage collection with simplifiers
Proceedings of the 2006 workshop on Memory system performance and correctness
ACM Transactions on Programming Languages and Systems (TOPLAS)
Cork: dynamic memory leak detection for garbage-collected languages
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A machine code model for efficient advice dispatch
Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms
Online optimizations driven by hardware performance monitoring
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Isla Vista Heap Sizing: Using Feedback to Avoid Paging
Proceedings of the International Symposium on Code Generation and Optimization
Using hardware performance monitors to understand the behavior of java applications
VM'04 Proceedings of the 3rd conference on Virtual Machine Research And Technology Symposium - Volume 3
Towards intelligent analysis techniques for object pretenuring
Proceedings of the 5th international symposium on Principles and practice of programming in Java
Proceedings of the 6th international symposium on Memory management
Intelligent selection of application-specific garbage collectors
Proceedings of the 6th international symposium on Memory management
Statistically rigorous java performance evaluation
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
CRAMM: virtual memory support for garbage-collected applications
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
A real-time Java virtual machine with applications in avionics
ACM Transactions on Embedded Computing Systems (TECS)
Object co-location and memory reuse for Java programs
ACM Transactions on Architecture and Code Optimization (TACO)
Garbage collection: Java application servers' Achilles heel
Science of Computer Programming
Lightweight virtual machine support for AspectJ
Proceedings of the 7th international conference on Aspect-oriented software development
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
A study of Java object demographics
Proceedings of the 7th international symposium on Memory management
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Java performance evaluation through rigorous replay compilation
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
GCH: Hints for Triggering Garbage Collections
Transactions on High-Performance Embedded Architectures and Compilers I
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Demystifying magic: high-level low-level programming
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Influence of program inputs on the selection of garbage collectors
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
A new approach to parallelising tracing algorithms
Proceedings of the 2009 international symposium on Memory management
Investigating the effects of using different nursery sizing policies on performance
Proceedings of the 2009 international symposium on Memory management
Dynamic shape analysis via degree metrics
Proceedings of the 2009 international symposium on Memory management
Dynamic software updates: a VM-centric approach
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
The study and handling of program inputs in the selection of garbage collectors
ACM SIGOPS Operating Systems Review
A page fault equation for dynamic heap sizing
Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering
VMKit: a substrate for managed runtime environments
Proceedings of the 6th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
A self-adjusting code cache manager to balance start-up time and memory usage
Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization
ECOOP'07 Proceedings of the 2007 conference on Object-oriented technology
Implementation, compilation, optimization of object-oriented languages, programs and systems
ECOOP'06 Proceedings of the 2006 conference on Object-oriented technology: ECOOP 2006 workshop reader
Tracing garbage collection on highly parallel platforms
Proceedings of the 2010 international symposium on Memory management
The locality of concurrent write barriers
Proceedings of the 2010 international symposium on Memory management
Software—Practice & Experience
Headroom-based pretenuring: dynamically pretenuring objects that live "long enough"
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Exploiting memory usage patterns to improve garbage collections in Java
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
An efficient approach to cyclic reference counting based on a coarse-grained search
Information Processing Letters
Index-compact garbage collection
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
A comprehensive evaluation of object scanning techniques
Proceedings of the international symposium on Memory management
Waste not, want not: resource-based garbage collection in a shared environment
Proceedings of the international symposium on Memory management
Why nothing matters: the impact of zeroing
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Cyclic reference counting by typed reference fields
Computer Languages, Systems and Structures
A cache-pinning strategy for improving generational garbage collection
HiPC'06 Proceedings of the 13th international conference on High Performance Computing
Quarantine: a framework to mitigate memory errors in JNI applications
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
HiPEAC'05 Proceedings of the First international conference on High Performance Embedded Architectures and Compilers
Concurrent garbage collection implementation in a standard JVM for real-time purposes
ICESS'04 Proceedings of the First international conference on Embedded Software and Systems
Sustainable system infrastructure and big bang evolution: can aspects keep pace?
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Unpicking the knot: teasing apart VM/application interdependencies
VEE '12 Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments
A lightweight cyclic reference counting algorithm
GPC'06 Proceedings of the First international conference on Advances in Grid and Pervasive Computing
A localized tracing scheme applied to garbage collection
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Barriers reconsidered, friendlier still!
Proceedings of the 2012 international symposium on Memory Management
Down for the count? Getting reference counting back in the ring
Proceedings of the 2012 international symposium on Memory Management
Maxine: An approachable virtual machine for, and in, java
ACM Transactions on Architecture and Code Optimization (TACO) - Special Issue on High-Performance Embedded Architectures and Compilers
Bypassing portability pitfalls of high-level low-level programming
Proceedings of the sixth ACM workshop on Virtual machines and intermediate languages
R3: repeatability, reproducibility and rigor
ACM SIGPLAN Notices - Supplemental issue
Science of Computer Programming
Control theory for principled heap sizing
Proceedings of the 2013 international symposium on memory management
Taking off the gloves with reference counting Immix
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Low-level detection of language-level data races with LARD
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
An equation-based Heap Sizing Rule
Performance Evaluation
Hi-index | 0.00 |
Increasingly popular languages such as Java and C# requireefficient garbage collection. This paper presents thedesign, implementation, and evaluation of MMTk, a MemoryManagement Toolkit for and in Java. MMTk is an efficient, composable, extensible, and portable framework for building garbage collectors. MMTk uses design patternsand compiler cooperation to combine modularity and efficiency. The resulting system is more robust, easier to maintain, and has fewer defects than monolithic collectors. Experimentalcomparisons with monolithic Java and C implementationsreveal MMTk has significant performance advantagesas well. Performance critical system software typicallyuses monolithic C at the expense of flexibility. Our resultsrefute common wisdom that only this approach attainsefficiency, and suggest that performance critical softwarecan embrace modular design and high-level languages.