Invalid flags in a RegExp literal should be an early SyntaxError
[WebKit-https.git] / JSTests / stress / equality-type-checking.js
1 /***
2  * There was a bug on 32-bit builds where === with objects would not check the tag
3  * when determining equality via pointer comparison.
4  */
5
6 "use strict";
7
8 function Foo() {}
9
10 function checkStrictEq(a, b) {
11     return a === b;
12 }
13 noInline(checkStrictEq);
14
15 function checkStrictEqOther(a, b) {
16     return a === b;
17 }
18 noInline(checkStrictEqOther);
19
20 var foo = new Foo();
21 var address = addressOf(foo);
22
23 if (address === undefined)
24     throw "Error: address should not be undefined";
25
26 if (foo === address || address === foo)
27     throw "Error: an address should not be equal to it's object";
28
29 for (var i = 0; i < 10000000; i++) {
30     if (checkStrictEq(foo, address))
31         throw "Error: an address should not be equal to it's object";
32     if (checkStrictEqOther(address,foo))
33         throw "Error: an address should not be equal to it's object";
34 }