OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 function TestRegExpLiteral(s, x, y, expected) { | 80 function TestRegExpLiteral(s, x, y, expected) { |
81 var result = r1(s, x, y); | 81 var result = r1(s, x, y); |
82 assertEquals(expected, result, "TestRegExpLiteral"); | 82 assertEquals(expected, result, "TestRegExpLiteral"); |
83 } | 83 } |
84 | 84 |
85 TestRegExpLiteral("a-", "reg", "exp", "regexp-"); | 85 TestRegExpLiteral("a-", "reg", "exp", "regexp-"); |
86 TestRegExpLiteral("-b", "reg", "exp", "-expreg"); | 86 TestRegExpLiteral("-b", "reg", "exp", "-expreg"); |
87 %OptimizeFunctionOnNextCall(TestRegExpLiteral); | 87 %OptimizeFunctionOnNextCall(TestRegExpLiteral); |
88 TestRegExpLiteral("ab", "reg", "exp", "regexpexpreg"); | 88 TestRegExpLiteral("ab", "reg", "exp", "regexpexpreg"); |
89 TestRegExpLiteral("ab", 12345, 54321, "6666666666"); | 89 TestRegExpLiteral("ab", 12345, 54321, "6666666666"); |
| 90 |
| 91 function f2(b, c) { |
| 92 var closure = function(b, c) { return b + c; } |
| 93 var value = b + c; |
| 94 return closure; |
| 95 } |
| 96 |
| 97 function f1(a, b, c) { |
| 98 return a + f2(b, c)(b, c); |
| 99 } |
| 100 |
| 101 function TestFunctionLiteral(a, b, c, expected) { |
| 102 var result = f1(a, b, c); |
| 103 assertEquals(expected, result, "TestFunctionLiteral"); |
| 104 } |
| 105 |
| 106 TestFunctionLiteral(1, 2, 3, 6); |
| 107 TestFunctionLiteral(4, 5, 6, 15); |
| 108 %OptimizeFunctionOnNextCall(TestFunctionLiteral); |
| 109 TestFunctionLiteral(7, 8, 9, 24); |
| 110 TestFunctionLiteral("a", "b", "c", "abc"); |
OLD | NEW |