JavaScript:SpiderMonkey:GC Futures: Difference between revisions
Jump to navigation
Jump to search
Line 16: | Line 16: | ||
* Write barrier for all code including JITted code | * Write barrier for all code including JITted code | ||
* Write barrier in API | * Write barrier in API | ||
* Make GC heap per thread (in JSThreadData) | |||
** New API for making MT-accessible objects | |||
** Objects are ST-accessible only without new API usage | |||
* Fast generational copying allocation and collection | * Fast generational copying allocation and collection | ||
* Go to beach |
Revision as of 18:24, 16 July 2009
JS GC Futures
Brain-dump of work items:
- Speed up allocator
- Speed up collector
- Remove byte flag per thing design
- Bad cache effects of flags and things allocated from opposite ends of same arena
- Don't want generality of different thing-types allocated from same size class
- Can put finalizer or other index/info in the pool, not in each flag's low bits
- Compress flags to mark bit in bitmap?
- Add new JNI-like (handles, "clothed" not "naked") global rooting API
- Make old JS global rooting API be #ifdef JS_NAKED_GC_ROOTS (enabled at first)
- Convert mozilla-central to use new global rooting API
- Disable JS_NAKED_GC_ROOTS
- Write barrier for all code including JITted code
- Write barrier in API
- Make GC heap per thread (in JSThreadData)
- New API for making MT-accessible objects
- Objects are ST-accessible only without new API usage
- Fast generational copying allocation and collection
- Go to beach