mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 13:51:41 +00:00
Bug 1126768 - Remove more references to the conservative stack scanner r=terrence
This commit is contained in:
parent
8c19aff332
commit
3cc027d53d
@ -905,8 +905,6 @@ class GCRuntime
|
||||
void validateIncrementalMarking();
|
||||
void finishMarkingValidation();
|
||||
|
||||
void markConservativeStackRoots(JSTracer *trc, bool useSavedRoots);
|
||||
|
||||
#ifdef DEBUG
|
||||
void checkForCompartmentMismatches();
|
||||
#endif
|
||||
|
@ -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;
|
||||
|
@ -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>
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user