JavaScript:SpiderMonkey:GC Futures: Difference between revisions
Jump to navigation
Jump to search
Line 6: | Line 6: | ||
* Speed up collector | * Speed up collector | ||
* Remove byte flag per thing design | * 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 | * 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) | * Make old JS global rooting API be #ifdef JS_NAKED_GC_ROOTS (enabled at first) |
Revision as of 18:19, 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
- Fast generational copying allocation and collection