blob: 3b83e41a48b0b386e5c7b6f2237c84b09d1d6a0d (
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
|
load(libdir + 'bytecode-cache.js');
// Prevent relazification triggered by some zeal modes. Relazification can cause
// test failures because lazy functions are XDR'd differently.
gczeal(0);
var test = "new class extends class { } { constructor() { super(); } }()";
evalWithCache(test, { assertEqBytecode : true });
var test = "new class { method() { super.toString(); } }().method()";
evalWithCache(test, { assertEqBytecode : true });
// Test class constructor in lazy function
var test = `
function f(delazify) {
function inner1() {
class Y {
constructor() {}
}
}
function inner2() {
class Y {
constructor() {}
field1 = "";
}
}
if (delazify) {
inner1();
inner2();
}
}
f(generation > 0);
`;
evalWithCache(test, {});
|