[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / stress / big-int-type-of.js
1 //@ runBigIntEnabled
2
3 function assert(a) {
4     if (!a)
5         throw new Error("Bad assertion");
6 }
7
8 assert(typeof 0n === "bigint");
9 assert(typeof 1n !== "object");
10
11 function typeOf(value)
12 {
13     return typeof value;
14 }
15 noInline(typeOf);
16
17 var object = {};
18 var func = function () { };
19 var bigInt = 1n;
20 var number = 0;
21 var string = "String";
22 var symbol = Symbol("Symbol");
23
24 for (var i = 0; i < 1e6; ++i) {
25     assert(typeOf(object) === "object");
26     assert(typeOf(func) === "function");
27     assert(typeOf(bigInt) === "bigint");
28     assert(typeOf(number) === "number");
29     assert(typeOf(string) === "string");
30     assert(typeOf(symbol) === "symbol");
31     assert(typeOf(null) === "object");
32     assert(typeOf(undefined) === "undefined");
33     assert(typeOf(true) === "boolean");
34 }