546
edits
Line 5: | Line 5: | ||
* Speed up allocator | * Speed up allocator | ||
* Speed up collector | * Speed up collector | ||
** Allocate short-enough strings from GC heap, not malloc heap | ** Allocate short-enough strings from GC heap, not malloc heap [bug NNNNNN] | ||
** Allocate object dslots from GC heap, not malloc heap? Alternative: | ** Allocate object dslots from GC heap, not malloc heap? Alternative: [bug NNNNNN] | ||
** Based on [https://bugzilla.mozilla.org/show_bug.cgi?id=502736 Gregor's stats] consider making 32-byte and 64-byte JSObjects to cover most cases except large objects without any dslots | ** Based on [https://bugzilla.mozilla.org/show_bug.cgi?id=502736 Gregor's stats] consider making 32-byte and 64-byte JSObjects to cover most cases except large objects without any dslots [bug NNNNNN] | ||
* Remove byte flag per thing design | * Remove byte flag per thing design [bug NNNNNN] | ||
** Bad cache effects of flags and things allocated from opposite ends of same arena | ** 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 | ** 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 | *** Can put finalizer or other index/info in the pool, not in each flag's low bits [bug NNNNNN] | ||
*** Compress flags to mark bit in bitmap? | *** 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 |
edits