Skip to content

Commit

Permalink
Bug 1283855 part 7 - Make JS_SetGCZeal take JSContext instead of JSRu…
Browse files Browse the repository at this point in the history
…ntime. r=sfink

UltraBlame original commit: 937ce4620f6b0425eefd9a310fb3beabe96e4c3a
  • Loading branch information
marco-c committed Sep 30, 2019
1 parent 9ca1604 commit 1861547
Show file tree
Hide file tree
Showing 12 changed files with 17 additions and 16 deletions.
2 changes: 1 addition & 1 deletion dom/workers/RuntimeService.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -797,7 +797,7 @@ InitJSContextForWorker(WorkerPrivate* aWorkerPrivate, JSRuntime* aRuntime)
js::SetCTypesActivityCallback(aRuntime, CTypesActivityCallback);

#ifdef JS_GC_ZEAL
JS_SetGCZeal(aRuntime, settings.gcZeal, settings.gcZealFrequency);
JS_SetGCZeal(workerCx, settings.gcZeal, settings.gcZealFrequency);
#endif

return workerCx;
Expand Down
2 changes: 1 addition & 1 deletion dom/workers/WorkerPrivate.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6378,7 +6378,7 @@ WorkerPrivate::UpdateGCZealInternal(JSContext* aCx, uint8_t aGCZeal,
{
AssertIsOnWorkerThread();

JS_SetGCZeal(JS_GetRuntime(aCx), aGCZeal, aFrequency);
JS_SetGCZeal(aCx, aGCZeal, aFrequency);

for (uint32_t index = 0; index < mChildWorkers.Length(); index++) {
mChildWorkers[index]->UpdateGCZeal(aGCZeal, aFrequency);
Expand Down
2 changes: 1 addition & 1 deletion ipc/testshell/XPCShellEnvironment.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ GCZeal(JSContext *cx, unsigned argc, JS::Value *vp)
if (!ToUint32(cx, args.get(0), &zeal))
return false;

JS_SetGCZeal(JS_GetRuntime(cx), uint8_t(zeal), JS_DEFAULT_ZEAL_FREQ);
JS_SetGCZeal(cx, uint8_t(zeal), JS_DEFAULT_ZEAL_FREQ);
return true;
}
#endif
Expand Down
4 changes: 2 additions & 2 deletions js/src/builtin/TestingFunctions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -720,7 +720,7 @@ GCZeal(JSContext* cx, unsigned argc, Value* vp)
return false;
}

JS_SetGCZeal(cx->runtime(), (uint8_t)zeal, frequency);
JS_SetGCZeal(cx, (uint8_t)zeal, frequency);
args.rval().setUndefined();
return true;
}
Expand Down Expand Up @@ -1310,7 +1310,7 @@ OOMTest(JSContext* cx, unsigned argc, Value* vp)
MOZ_ASSERT(!cx->isExceptionPending());
rt->hadOutOfMemory = false;

JS_SetGCZeal(cx->runtime(), 0, JS_DEFAULT_ZEAL_FREQ);
JS_SetGCZeal(cx, 0, JS_DEFAULT_ZEAL_FREQ);

for (unsigned thread = threadStart; thread < threadEnd; thread++) {
if (verbose)
Expand Down
4 changes: 2 additions & 2 deletions js/src/jsapi-tests/testGCFinalizeCallback.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ BEGIN_TEST(testGCFinalizeCallback)


FinalizeCalls = 0;
JS_SetGCZeal(rt, 9, 1000000);
JS_SetGCZeal(cx, 9, 1000000);
JS::PrepareForFullGC(rt);
js::SliceBudget budget(js::WorkBudget(1));
rt->gc.startDebugGC(GC_NORMAL, budget);
Expand All @@ -120,7 +120,7 @@ BEGIN_TEST(testGCFinalizeCallback)
CHECK(!IsCompartmentGCBuffer[i]);
CHECK(IsCompartmentGCBuffer[FinalizeCalls - 1]);

JS_SetGCZeal(rt, 0, 0);
JS_SetGCZeal(cx, 0, 0);

#endif

Expand Down
2 changes: 1 addition & 1 deletion js/src/jsapi-tests/testGCMarking.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ BEGIN_TEST(testIncrementalRoots)

#ifdef JS_GC_ZEAL

JS_SetGCZeal(rt, 0, 100);
JS_SetGCZeal(cx, 0, 100);
#endif


Expand Down
4 changes: 2 additions & 2 deletions js/src/jsapi-tests/tests.h
Original file line number Diff line number Diff line change
Expand Up @@ -436,14 +436,14 @@ class AutoLeaveZeal
explicit AutoLeaveZeal(JSContext* cx) : cx_(cx) {
uint32_t dummy;
JS_GetGCZealBits(cx_, &zealBits_, &frequency_, &dummy);
JS_SetGCZeal(JS_GetRuntime(cx_), 0, 0);
JS_SetGCZeal(cx_, 0, 0);
JS::PrepareForFullGC(JS_GetRuntime(cx_));
JS::GCForReason(JS_GetRuntime(cx_), GC_SHRINK, JS::gcreason::DEBUG_GC);
}
~AutoLeaveZeal() {
for (size_t i = 0; i < sizeof(zealBits_) * 8; i++) {
if (zealBits_ & (1 << i))
JS_SetGCZeal(JS_GetRuntime(cx_), i, frequency_);
JS_SetGCZeal(cx_, i, frequency_);
}

#ifdef DEBUG
Expand Down
4 changes: 2 additions & 2 deletions js/src/jsapi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6016,9 +6016,9 @@ JS_GetGCZealBits(JSContext* cx, uint32_t* zealBits, uint32_t* frequency, uint32_
}

JS_PUBLIC_API(void)
JS_SetGCZeal(JSRuntime* rt, uint8_t zeal, uint32_t frequency)
JS_SetGCZeal(JSContext* cx, uint8_t zeal, uint32_t frequency)
{
rt->gc.setZeal(zeal, frequency);
cx->gc.setZeal(zeal, frequency);
}

JS_PUBLIC_API(void)
Expand Down
2 changes: 1 addition & 1 deletion js/src/jsapi.h
Original file line number Diff line number Diff line change
Expand Up @@ -5533,7 +5533,7 @@ extern JS_PUBLIC_API(void)
JS_GetGCZealBits(JSContext* cx, uint32_t* zealBits, uint32_t* frequency, uint32_t* nextScheduled);

extern JS_PUBLIC_API(void)
JS_SetGCZeal(JSRuntime* rt, uint8_t zeal, uint32_t frequency);
JS_SetGCZeal(JSContext* cx, uint8_t zeal, uint32_t frequency);

extern JS_PUBLIC_API(void)
JS_ScheduleGC(JSContext* cx, uint32_t count);
Expand Down
2 changes: 1 addition & 1 deletion js/xpconnect/src/XPCComponents.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3026,7 +3026,7 @@ NS_IMETHODIMP
nsXPCComponents_Utils::SetGCZeal(int32_t aValue, JSContext* cx)
{
#ifdef JS_GC_ZEAL
JS_SetGCZeal(JS_GetRuntime(cx), uint8_t(aValue), JS_DEFAULT_ZEAL_FREQ);
JS_SetGCZeal(cx, uint8_t(aValue), JS_DEFAULT_ZEAL_FREQ);
#endif
return NS_OK;
}
Expand Down
3 changes: 2 additions & 1 deletion js/xpconnect/src/XPCJSRuntime.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1562,6 +1562,7 @@ ReloadPrefsCallback(const char* pref, void* data)
{
XPCJSRuntime* runtime = reinterpret_cast<XPCJSRuntime*>(data);
JSRuntime* rt = runtime->Runtime();
JSContext* cx = runtime->Context();

bool safeMode = false;
nsCOMPtr<nsIXULRuntime> xr = do_GetService("@mozilla.org/xre/runtime;1");
Expand Down Expand Up @@ -1611,7 +1612,7 @@ ReloadPrefsCallback(const char* pref, void* data)
Preferences::GetInt(JS_OPTIONS_DOT_STR "gczeal.frequency",
JS_DEFAULT_ZEAL_FREQ);
if (zeal >= 0) {
JS_SetGCZeal(rt, (uint8_t)zeal, zeal_frequency);
JS_SetGCZeal(cx, (uint8_t)zeal, zeal_frequency);
}
#endif

Expand Down
2 changes: 1 addition & 1 deletion js/xpconnect/src/XPCShellImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -447,7 +447,7 @@ GCZeal(JSContext* cx, unsigned argc, Value* vp)
if (!ToUint32(cx, args.get(0), &zeal))
return false;

JS_SetGCZeal(JS_GetRuntime(cx), uint8_t(zeal), JS_DEFAULT_ZEAL_FREQ);
JS_SetGCZeal(cx, uint8_t(zeal), JS_DEFAULT_ZEAL_FREQ);
args.rval().setUndefined();
return true;
}
Expand Down

0 comments on commit 1861547

Please sign in to comment.