| OLD | NEW | 
|    1 // Copyright 2011 the V8 project authors. All rights reserved. |    1 // Copyright 2011 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 132 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  143 var tracker = new OptTracker(); |  143 var tracker = new OptTracker(); | 
|  144 tracker.CheckpointOptCount(f); |  144 tracker.CheckpointOptCount(f); | 
|  145  |  145  | 
|  146 tracker.AssertOptCount(f, 0); |  146 tracker.AssertOptCount(f, 0); | 
|  147 tracker.AssertIsOptimized(f, false); |  147 tracker.AssertIsOptimized(f, false); | 
|  148 tracker.AssertDeoptHappened(f, false); |  148 tracker.AssertDeoptHappened(f, false); | 
|  149 tracker.AssertDeoptCount(f, 0); |  149 tracker.AssertDeoptCount(f, 0); | 
|  150  |  150  | 
|  151 f(1); |  151 f(1); | 
|  152  |  152  | 
|  153 tracker.AssertOptCount(f, 0); |  | 
|  154 tracker.AssertIsOptimized(f, false); |  | 
|  155 tracker.AssertDeoptHappened(f, false); |  | 
|  156 tracker.AssertDeoptCount(f, 0); |  | 
|  157  |  | 
|  158 %OptimizeFunctionOnNextCall(f); |  153 %OptimizeFunctionOnNextCall(f); | 
|  159 f(1); |  154 f(1); | 
|  160  |  155  | 
|  161 tracker.AssertOptCount(f, 1); |  156 tracker.AssertOptCount(f, 1); | 
|  162 tracker.AssertIsOptimized(f, true); |  157 tracker.AssertIsOptimized(f, true); | 
|  163 tracker.AssertDeoptHappened(f, false); |  158 tracker.AssertDeoptHappened(f, false); | 
|  164 tracker.AssertDeoptCount(f, 0); |  159 tracker.AssertDeoptCount(f, 0); | 
|  165  |  160  | 
|  166 %DeoptimizeFunction(f); |  161 %DeoptimizeFunction(f); | 
|  167  |  162  | 
|  168 tracker.AssertOptCount(f, 1); |  163 tracker.AssertOptCount(f, 1); | 
|  169 tracker.AssertIsOptimized(f, false); |  164 tracker.AssertIsOptimized(f, false); | 
|  170 tracker.AssertDeoptHappened(f, true); |  165 tracker.AssertDeoptHappened(f, true); | 
|  171 tracker.AssertDeoptCount(f, 1); |  166 tracker.AssertDeoptCount(f, 1); | 
|  172  |  167  | 
|  173 // Let's trigger optimization for another type. |  168 // Let's trigger optimization for another type. | 
|  174 for (var i = 0; i < 5; i++) f("a"); |  169 for (var i = 0; i < 5; i++) f("a"); | 
 |  170  | 
|  175 %OptimizeFunctionOnNextCall(f); |  171 %OptimizeFunctionOnNextCall(f); | 
|  176 f("b"); |  172 f("b"); | 
|  177  |  173  | 
|  178 tracker.AssertOptCount(f, 2); |  174 tracker.AssertOptCount(f, 2); | 
|  179 tracker.AssertIsOptimized(f, true); |  175 tracker.AssertIsOptimized(f, true); | 
|  180 tracker.AssertDeoptHappened(f, true); |  176 tracker.AssertDeoptHappened(f, true); | 
|  181 tracker.AssertDeoptCount(f, 1); |  177 tracker.AssertDeoptCount(f, 1); | 
| OLD | NEW |