Backed out changeset f2019fbd6f8c (bug 1341326) for failing backup-point-bug1315634.js and more on arm. r=backout

This commit is contained in:
Sebastian Hengst 2017-02-22 13:39:53 +01:00
Родитель dbda93465f
Коммит 54c0337374
5 изменённых файлов: 11 добавлений и 23 удалений

Просмотреть файл

@ -1,15 +0,0 @@
if (helperThreadCount() == 0)
quit();
function eval(source) {
offThreadCompileModule(source);
}
var N = 10000;
var left = repeat_str('(1&', N);
var right = repeat_str(')', N);
var str = 'actual = '.concat(left, '1', right, ';');
eval(str);
function repeat_str(str, repeat_count) {
var arr = new Array(--repeat_count);
while (repeat_count != 0) arr[--repeat_count] = str;
return str.concat.apply(str, arr);
}

Просмотреть файл

@ -78,7 +78,6 @@ js::Thread::Thread(Thread&& aOther)
{
id_ = aOther.id_;
aOther.id_ = Id();
options_ = aOther.options_;
}
js::Thread&
@ -87,7 +86,6 @@ js::Thread::operator=(Thread&& aOther)
MOZ_RELEASE_ASSERT(!joinable());
id_ = aOther.id_;
aOther.id_ = Id();
options_ = aOther.options_;
return *this;
}

Просмотреть файл

@ -59,7 +59,6 @@ js::Thread::Thread(Thread&& aOther)
{
id_ = aOther.id_;
aOther.id_ = Id();
options_ = aOther.options_;
}
js::Thread&
@ -68,7 +67,6 @@ js::Thread::operator=(Thread&& aOther)
MOZ_RELEASE_ASSERT(!joinable());
id_ = aOther.id_;
aOther.id_ = Id();
options_ = aOther.options_;
return *this;
}

Просмотреть файл

@ -1663,7 +1663,7 @@ JSContext::addPendingOutOfMemory()
}
void
HelperThread::handleParseWorkload(AutoLockHelperThreadState& locked)
HelperThread::handleParseWorkload(AutoLockHelperThreadState& locked, uintptr_t stackLimit)
{
MOZ_ASSERT(HelperThreadState().canStartParseTask(locked));
MOZ_ASSERT(idle());
@ -1903,7 +1903,14 @@ HelperThread::threadLoop()
oomUnsafe.crash("HelperThread cx.init()");
}
cx.setHelperThread(this);
JS_SetNativeStackQuota(&cx, HELPER_STACK_QUOTA);
// Compute the thread's stack limit, for over-recursed checks.
uintptr_t stackLimit = GetNativeStackBase();
#if JS_STACK_GROWTH_DIRECTION > 0
stackLimit += HELPER_STACK_QUOTA;
#else
stackLimit -= HELPER_STACK_QUOTA;
#endif
while (true) {
MOZ_ASSERT(idle());
@ -1939,7 +1946,7 @@ HelperThread::threadLoop()
handlePromiseTaskWorkload(lock);
} else if (HelperThreadState().canStartParseTask(lock)) {
js::oom::SetThreadType(js::oom::THREAD_TYPE_PARSE);
handleParseWorkload(lock);
handleParseWorkload(lock, stackLimit);
} else if (HelperThreadState().canStartCompressionTask(lock)) {
js::oom::SetThreadType(js::oom::THREAD_TYPE_COMPRESS);
handleCompressionWorkload(lock);

Просмотреть файл

@ -384,7 +384,7 @@ struct HelperThread
void handleWasmWorkload(AutoLockHelperThreadState& locked);
void handlePromiseTaskWorkload(AutoLockHelperThreadState& locked);
void handleIonWorkload(AutoLockHelperThreadState& locked);
void handleParseWorkload(AutoLockHelperThreadState& locked);
void handleParseWorkload(AutoLockHelperThreadState& locked, uintptr_t stackLimit);
void handleCompressionWorkload(AutoLockHelperThreadState& locked);
void handleGCHelperWorkload(AutoLockHelperThreadState& locked);
void handleGCParallelWorkload(AutoLockHelperThreadState& locked);