blob: 98d4f5d7168491a1b16a0315f6a94d3d3f4b3f2c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
// |jit-test| crash; skip-if: getBuildConfiguration("tsan") || getBuildConfiguration("wasi"); --ion-warmup-threshold=50
setJitCompilerOption("offthread-compilation.enable", 0);
var opts = getJitCompilerOptions();
if (!opts['ion.enable'] || !opts['baseline.enable'] ||
opts["ion.forceinlineCaches"] || opts["ion.check-range-analysis"])
{
crash("Cannot test assertRecoveredOnBailout");
}
// Prevent the GC from cancelling Ion compilations, when we expect them to succeed
gczeal(0);
function g() {
return inIon();
}
// Wait until IonMonkey compilation finished.
while(!(res = g()));
// Check that we entered Ion succesfully.
if (res !== true)
crash("Cannot enter IonMonkey");
// Test that assertRecoveredOnBailout fails as expected.
function f () {
var o = {};
assertRecoveredOnBailout(o, false);
return inIon();
}
// Wait until IonMonkey compilation finished.
while(!(res = f()));
// Ensure that we entered Ion.
assertEq(res, true);
|