Bug 1673497: Part 2: Cancel off-thread compiles when invalidating Warp r=jandem

Depends on D94875

Differential Revision: https://phabricator.services.mozilla.com/D94876
This commit is contained in:
Iain Ireland 2020-10-28 07:57:43 +00:00
Родитель dfe0b97563
Коммит d095428907
2 изменённых файлов: 23 добавлений и 0 удалений

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

@ -0,0 +1,21 @@
// |jit-test| --fast-warmup; skip-if: helperThreadCount() === 0
function foo(o) {
return o.y;
}
with ({}) {}
var sum = 0;
// Trigger an off-thread Warp compile.
for (var i = 0; i < 30; i++) {
sum += foo({y: 1});
}
// Attach a new stub and cancel that compile.
for (var i = 0; i < 30; i++) {
sum += foo({x: 1, y: 1});
}
assertEq(sum, 60);

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

@ -640,6 +640,8 @@ void ICFallbackStub::maybeInvalidateWarp(JSContext* cx, JSScript* script) {
if (script->hasIonScript()) {
Invalidate(cx, script);
} else {
CancelOffThreadIonCompile(script);
}
}