Invalid flags in a RegExp literal should be an early SyntaxError
[WebKit-https.git] / JSTests / stress / arrowfunction-lexical-this-activation-sink.js
1 //@ skip if $architecture == "x86"
2
3 var n = 10000000;
4
5 var newContext = {
6   id : 'new-context'
7 };
8
9 function bar(f) {
10     if (this == newContext)
11         throw 'Wrong context of nesting function';
12     f(10);
13 }
14
15 function foo(b) {
16     var result = 0;
17     var set = (x) => {
18       result = x;
19       // Check if arrow function store context
20       if (this != newContext || this.id != newContext.id)
21           throw 'Wrong context of arrow function';
22     };
23
24     if (b) {
25         bar(set);
26         if (result != 10)
27             throw "Error: bad: " + result;
28         return 0;
29     }
30     return result;
31 }
32
33 noInline(bar);
34 noInline(foo);
35
36 for (var i = 0; i < n; i++) {
37     var result = foo.call(newContext, !(i % 100));
38     if (result != 0)
39         throw "Error: bad result: " + result;
40 }