Bug 1126768 - Remove more references to the conservative stack scanner r=terrence

This commit is contained in:
Jon Coppeard 2015-01-29 09:58:06 +00:00
parent 8c19aff332
commit 3cc027d53d
5 changed files with 7 additions and 16 deletions

View File

@ -905,8 +905,6 @@ class GCRuntime
void validateIncrementalMarking();
void finishMarkingValidation();
void markConservativeStackRoots(JSTracer *trc, bool useSavedRoots);
#ifdef DEBUG
void checkForCompartmentMismatches();
#endif

View File

@ -528,14 +528,12 @@ struct ArenaHeader
/*
* One of AllocKind constants or FINALIZE_LIMIT when the arena does not
* contain any GC things and is on the list of empty arenas in the GC
* chunk. The latter allows to quickly check if the arena is allocated
* during the conservative GC scanning without searching the arena in the
* list.
* chunk.
*
* We use 8 bits for the allocKind so the compiler can use byte-level memory
* instructions to access it.
*/
size_t allocKind : 8;
size_t allocKind : 8;
/*
* When collecting we sometimes need to keep an auxillary list of arenas,
@ -561,7 +559,7 @@ struct ArenaHeader
* flags.
*/
public:
size_t hasDelayedMarking : 1;
size_t hasDelayedMarking : 1;
size_t allocatedDuringIncremental : 1;
size_t markOverflow : 1;
size_t auxNextLink : JS_BITS_PER_WORD - 8 - 1 - 1 - 1;

View File

@ -103,9 +103,7 @@ namespace JS {
// shapes within it are alive.
//
// We always guarantee that a zone has at least one live compartment by refusing
// to delete the last compartment in a live zone. (This could happen, for
// example, if the conservative scanner marks a string in an otherwise dead
// zone.)
// to delete the last compartment in a live zone.
struct Zone : public JS::shadow::Zone,
public js::gc::GraphNodeBase<JS::Zone>,
public js::MallocProvider<JS::Zone>

View File

@ -1060,9 +1060,6 @@ struct GrayRoot {
: thing(thing), kind(kind) {}
};
void
MarkStackRangeConservatively(JSTracer *trc, Value *begin, Value *end);
typedef void (*IterateChunkCallback)(JSRuntime *rt, void *data, gc::Chunk *chunk);
typedef void (*IterateZoneCallback)(JSRuntime *rt, void *data, JS::Zone *zone);
typedef void (*IterateArenaCallback)(JSRuntime *rt, void *data, gc::Arena *arena,

View File

@ -4426,9 +4426,9 @@ static const JSFunctionSpecWithHelp shell_functions[] = {
" themselves from roots that keep |thing| from being collected. (We could make\n"
" this distinction if it is useful.)\n"
"\n"
" If any references are found by the conservative scanner, the references\n"
" object will have a property named \"edge: machine stack\"; the referrers will\n"
" be 'null', because they are roots."),
" If there are any references on the native stack, the references\n"
" object will have properties named like \"edge: exact-value \"; the referrers\n"
" will be 'null', because they are roots."),
#endif
JS_FN_HELP("build", BuildDate, 0, 0,