Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
Program optimization for instruction caches
ASPLOS III Proceedings of the third international conference on Architectural support for programming languages and operating systems
Fast allocation and deallocation of memory based on object lifetimes
Software—Practice & Experience
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Segregating heap objects by reference behavior and lifetime
Proceedings of the eighth international conference on Architectural support for programming languages and operating systems
Understanding the connectivity of heap objects
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
Comprehensive and Robust Garbage Collection in a Distributed System
IWMM '92 Proceedings of the International Workshop on Memory Management
New methods for dynamic storage allocation (Fast Fits)
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
Connectivity-based garbage collection
Connectivity-based garbage collection
A Safety-Oriented Platform for Web Applications
SP '06 Proceedings of the 2006 IEEE Symposium on Security and Privacy
Some Empirical Observations on Program Behavior with Applications to Program Restructuring
IEEE Transactions on Software Engineering
Secure Web Browsing with the OP Web Browser
SP '08 Proceedings of the 2008 IEEE Symposium on Security and Privacy
Isolating web programs in modern browser architectures
Proceedings of the 4th ACM European conference on Computer systems
A study of memory management for web-based applications on multicore processors
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Trace-based just-in-time type specialization for dynamic languages
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
An analysis of the dynamic behavior of JavaScript programs
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
The multi-principal OS construction of the gazelle web browser
SSYM'09 Proceedings of the 18th conference on USENIX security symposium
C3: an experimental, extensible, reconfigurable platform for HTML-based applications
WebApps'11 Proceedings of the 2nd USENIX conference on Web application development
MemRed: towards reliable web applications
Proceedings of the Workshop on Secure and Dependable Middleware for Cloud Monitoring and Management
Hi-index | 0.00 |
Since their inception, the usage pattern of web browsers has changed substantially. Rather than sequentially navigating static web sites, modern web browsers often manage a large number of simultaneous tabs displaying dynamic web content, each of which might be running a substantial amount of client-side JavaScript code. This environment introduced a new degree of parallelism that was not fully embraced by the underlying JavaScript virtual machine architecture. We propose a novel abstraction for multiple disjoint JavaScript heaps, which we call compartments. We use the notion of document origin to cluster objects into separate compartments. Objects within a compartment can reference each other directly. Objects across compartments can only reference each other through wrappers. Our approach reduces garbage collection pause times by permitting collection of sub-heaps (compartments), and we can use cross-compartment wrappers to enforce cross origin object access policy.