Bug 708228 - Fix infinite write barrier recursion in regexp purge (r=cdleary)

This commit is contained in:
Bill McCloskey 2011-12-15 09:40:51 -08:00
Родитель dcbac58923
Коммит fe1398adeb
2 изменённых файлов: 6 добавлений и 1 удалений

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

@ -0,0 +1,5 @@
// |jit-test| error: TypeError
gczeal(4);
var g_rx = /(?:)/;
(3).replace(g_rx.compile("test", "g"), {});

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

@ -366,7 +366,7 @@ regexp_finalize(JSContext *cx, JSObject *obj)
static void
regexp_trace(JSTracer *trc, JSObject *obj)
{
if (IS_GC_MARKING_TRACER(trc))
if (trc->runtime->gcRunning)
obj->asRegExp()->purge(trc->context);
}