JavaScript:SpiderMonkey:GC Futures: Difference between revisions

Line 20: Line 20:
** Convert mozilla-central to use new global rooting API [bug NNNNNN]
** Convert mozilla-central to use new global rooting API [bug NNNNNN]
** Disable JS_NAKED_GC_ROOTS [bug NNNNNN]
** Disable JS_NAKED_GC_ROOTS [bug NNNNNN]
* What about local roots?
* What about local roots? [bug NNNNNNN]
** Need write barrier, efficient auto-temp-value rooting
** Need write barrier, efficient auto-temp-value rooting [bug NNNNNNN]
** No naked argv[i] writes
** No naked argv[i] writes [bug NNNNNNN]
** Conservative stack scanning to avoid temp-value rooting overheads?
** Conservative stack scanning to avoid temp-value rooting overheads? [bug NNNNNNN]
* GC safety static analysis
* GC safety static analysis
* Write barrier for all code including JITted code
* Write barrier for all code including JITted code
* Write barrier in API
* Write barrier in API
** write barriers may make natives slower
* Make GC heap per thread (in JSThreadData)
* Make GC heap per thread (in JSThreadData)
** New API for making MT-accessible objects
** New API for making MT-accessible objects
** Objects are ST-accessible only without new API usage
** Objects are ST-accessible only without new API usage
** Safest course for API: #ifdef JS_AUTO_MT_OBJECTS for existing API, new API entry points (C++ API, rather) for new ST vs. MT create-object methods
** Safest course for API: #ifdef JS_AUTO_MT_OBJECTS for existing API, new API entry points (C++ API, rather) for new ST vs. MT create-object methods [bug NNNNNNN]
** Switch mozilla-central code over, turn off JS_AUTO_MT_OBJECTS
** Switch mozilla-central code over, turn off JS_AUTO_MT_OBJECTS [bug NNNNNNN]
* Fast generational copying allocation and collection
* Fast generational copying allocation and collection [bug NNNNNNN]
* new C++ API?
** totally new C++ API, new header (jorendorff)
** write barriers may make natives slower
** ifdef off new API so as not to break embedders
* Go to beach
* Go to beach
546

edits