OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --allow-natives-syntax --nostress-opt --turbo | 5 // Flags: --allow-natives-syntax --nostress-opt --turbo |
6 // Flags: --nonative-context-specialization | |
7 | 6 |
8 var p0 = new Object(); | 7 var p0 = new Object(); |
9 var p1 = new Object(); | 8 var p1 = new Object(); |
10 var p2 = new Object(); | 9 var p2 = new Object(); |
11 | 10 |
12 // Ensure 1 parameter passed straight-through is handled correctly | 11 // Ensure 1 parameter passed straight-through is handled correctly |
13 var count1 = 100000; | 12 var count1 = 100000; |
14 tailee1 = function() { | 13 tailee1 = function() { |
15 "use strict"; | 14 "use strict"; |
16 if (count1-- == 0) { | 15 if (count1-- == 0) { |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 tailee5 = function(px) { | 72 tailee5 = function(px) { |
74 "use strict"; | 73 "use strict"; |
75 if (count5-- == 0) { | 74 if (count5-- == 0) { |
76 return this; | 75 return this; |
77 } | 76 } |
78 return %_CallFunction(this, tailee5); | 77 return %_CallFunction(this, tailee5); |
79 }; | 78 }; |
80 | 79 |
81 %OptimizeFunctionOnNextCall(tailee5); | 80 %OptimizeFunctionOnNextCall(tailee5); |
82 assertThrows(function() { tailee5.call(p1, p2); }); | 81 assertThrows(function() { tailee5.call(p1, p2); }); |
OLD | NEW |