Move mark and collectOnMainThreadOnly bits into separate bitmaps. This saves 4 bytes per cell, allowing shrink of cell size to 32, which leads to a .8% speed improvement on iBench.
Created attachment 14070 [details] 09-js-gc-mark-bitmap+32byte-cell.patch.txt
Comment on attachment 14070 [details] 09-js-gc-mark-bitmap+32byte-cell.patch.txt +#include <sys/mman.h> I don't think it's right that have this outside an #if -- is it really a header that exists on all JavaScriptCore platforms. Now that all these constants have to be moved into a header file, maybe we should make them have non-all-capitals name or use a namespace or something. They're pretty ugly.
(In reply to comment #2) > (From update of attachment 14070 [details] [edit]) > +#include <sys/mman.h> > > I don't think it's right that have this outside an #if -- is it really a header > that exists on all JavaScriptCore platforms. OK, I'll put it in an ifdef (I think it is only needed for non-Darwin Unix platforms, to get mmap/munmap). > Now that all these constants have to be moved into a header file, maybe we > should make them have non-all-capitals name or use a namespace or something. > They're pretty ugly. I'm happy to give them more normal names, but maybe that should be a separate patch?
Code looks right to me, modulo darin's comments.
Created attachment 14146 [details] fix the sys/mman.h thing, plus some other cleanups
Created attachment 14148 [details] actually fixed the mman thing
Comment on attachment 14148 [details] actually fixed the mman thing r=me