зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1129977
- Fix bogus MarkOffThreadNurseryObjects assert when post-barrier verifier is used. r=terrence
This commit is contained in:
Родитель
74009a525c
Коммит
fc6c5d2e40
|
@ -0,0 +1,10 @@
|
|||
gczeal(11);
|
||||
function C(a, b) {
|
||||
this.b=b;
|
||||
}
|
||||
evaluate('\
|
||||
Object.defineProperty(Object.prototype, "b", {set: function() {}});\
|
||||
var f = C.bind(0x2004, 2);\
|
||||
');
|
||||
for (var i=1; i<5000; ++i)
|
||||
new f;
|
|
@ -1732,8 +1732,12 @@ MarkOffThreadNurseryObjects::mark(JSTracer *trc)
|
|||
{
|
||||
JSRuntime *rt = trc->runtime();
|
||||
|
||||
MOZ_ASSERT(rt->jitRuntime()->hasIonNurseryObjects());
|
||||
rt->jitRuntime()->setHasIonNurseryObjects(false);
|
||||
if (trc->runtime()->isHeapMinorCollecting()) {
|
||||
// Only reset hasIonNurseryObjects if we're doing an actual minor GC,
|
||||
// not if we're, for instance, verifying post barriers.
|
||||
MOZ_ASSERT(rt->jitRuntime()->hasIonNurseryObjects());
|
||||
rt->jitRuntime()->setHasIonNurseryObjects(false);
|
||||
}
|
||||
|
||||
AutoLockHelperThreadState lock;
|
||||
if (!HelperThreadState().threads)
|
||||
|
|
Загрузка…
Ссылка в новой задаче