Bug 1263558 - Part 4: Call initBuiltinConstructor after defining properties in InitStringClass. r=till

This commit is contained in:
Tooru Fujisawa 2016-04-15 12:32:37 +09:00
Родитель 52722e54e7
Коммит 1fd48d7c01
2 изменённых файлов: 19 добавлений и 3 удалений

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

@ -0,0 +1,16 @@
if (!('oomTest' in this))
quit();
evalcx(`
eval('\
var appendToActual = function(s) {};\
gczeal = function() {};\
gcslice = function() {};\
selectforgc = function() {};\
if (!("verifyprebarriers" in this)) {\
verifyprebarriers = function() {};\
}\
');
oomTest(() => eval('Array(..."")'));
Intl.NumberFormat.prototype.format(0);
`, newGlobal());

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

@ -2767,9 +2767,6 @@ js::InitStringClass(JSContext* cx, HandleObject obj)
if (!ctor) if (!ctor)
return nullptr; return nullptr;
if (!GlobalObject::initBuiltinConstructor(cx, global, JSProto_String, ctor, proto))
return nullptr;
if (!LinkConstructorAndPrototype(cx, ctor, proto)) if (!LinkConstructorAndPrototype(cx, ctor, proto))
return nullptr; return nullptr;
@ -2786,6 +2783,9 @@ js::InitStringClass(JSContext* cx, HandleObject obj)
if (!JS_DefineFunctions(cx, global, string_functions)) if (!JS_DefineFunctions(cx, global, string_functions))
return nullptr; return nullptr;
if (!GlobalObject::initBuiltinConstructor(cx, global, JSProto_String, ctor, proto))
return nullptr;
return proto; return proto;
} }