Backed out changeset 5d4bbe51337a (bug 1219128) for causing SM bustages. CLOSED TREE

This commit is contained in:
Butkovits Atila 2022-11-28 21:17:38 +02:00
Родитель 5f7cfc5114
Коммит 5442c92e67
11 изменённых файлов: 1 добавлений и 71 удалений

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

@ -1,6 +0,0 @@
evaluate(`
x = evalcx("lazy");
oomTest(function () {
x.start("1");
});
`);

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

@ -1,2 +0,0 @@
a = evalcx("lazy")
oomTest(() => a.toString)

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

@ -1,4 +0,0 @@
x = evalcx('lazy');
oomTest(function() {
x.eval
});

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

@ -1,4 +0,0 @@
x = evalcx("lazy");
oomTest((function() {
evalcx("({", x);
}))

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

@ -1,4 +0,0 @@
x = evalcx("lazy");
oomTest(function() {
x.of(new(delete y));
});

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

@ -1,4 +0,0 @@
a = evalcx("lazy")
oomTest(function() {
a.b
})

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

@ -1,34 +0,0 @@
function main() {
const v1 = this.newGlobal();
function v2(v3,v4) {
for (let v8 = 0; v8 < 100; v8++) {
try {
const v10 = this.oomAtAllocation(v8);
const v13 = this.parseModule("apply");
const v14 = {};
const v15 = v14.size;
const v17 = Uint16Array !== v15;
const v18 = v17 && Uint16Array;
const v20 = this.objectGlobal(v18);
const v21 = v20.newGlobal();
const v24 = this.resumeProfilers();
const v25 = v24 && v21;
const v26 = v25.evalInWorker("9007199254740991");
function v27(v28,v29) {
}
const v31 = new Promise(v27);
const v33 = this.getModuleEnvironmentNames(v13);
} catch(v34) {
} finally {
}
}
}
const v36 = new Promise(v2);
const v37 = v1.Debugger;
const v38 = v37();
const v39 = v38.findAllGlobals();
const v40 = v39.pop();
const v41 = v40.getOwnPropertyDescriptor(v37);
gc();
}
main();

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

@ -1,2 +0,0 @@
a = evalcx('lazy')
oomTest(() => a < 0)

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

@ -607,14 +607,6 @@ GlobalObject* GlobalObject::new_(JSContext* cx, const JSClass* clasp,
return nullptr;
}
// Make transactional initialization of these constructors by discarding the
// incompletely initialized global if an error occur.
if (!ensureConstructor(cx, global, JSProto_Object) ||
!ensureConstructor(cx, global, JSProto_Function)) {
return nullptr;
}
realm->clearInitializingGlobal();
if (hookOption == JS::FireOnNewGlobalHook) {
JS_FireOnNewGlobalObject(cx, global);
}

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

@ -30,7 +30,7 @@ inline bool JS::Realm::hasLiveGlobal() const {
// The global is swept by traceWeakGlobalEdge when we start sweeping a zone
// group.
MOZ_ASSERT_IF(global_, !js::gc::IsAboutToBeFinalized(global_));
return bool(global_) && !initializingGlobal_;
return bool(global_);
}
inline bool JS::Realm::marked() const {

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

@ -393,7 +393,6 @@ class JS::Realm : public JS::shadow::Realm {
bool isSystem_ = false;
bool allocatedDuringIncrementalGC_;
bool initializingGlobal_ = true;
js::UniquePtr<js::coverage::LCovRealm> lcovRealm_ = nullptr;
@ -511,7 +510,6 @@ class JS::Realm : public JS::shadow::Realm {
inline bool hasLiveGlobal() const;
inline void initGlobal(js::GlobalObject& global);
void clearInitializingGlobal() { initializingGlobal_ = false; }
/*
* This method traces data that is live iff we know that this realm's