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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 } | 46 } |
47 | 47 |
48 function k(x) { | 48 function k(x) { |
49 return x * x; | 49 return x * x; |
50 } | 50 } |
51 | 51 |
52 f(g(1)); | 52 f(g(1)); |
53 assertUnoptimized(f); | 53 assertUnoptimized(f); |
54 assertUnoptimized(g); | 54 assertUnoptimized(g); |
55 | 55 |
| 56 %BaselineFunctionOnNextCall(f); |
| 57 %BaselineFunctionOnNextCall(g); |
| 58 f(g(2)); |
| 59 assertUnoptimized(f); |
| 60 assertUnoptimized(g); |
| 61 |
56 %OptimizeFunctionOnNextCall(f, "concurrent"); | 62 %OptimizeFunctionOnNextCall(f, "concurrent"); |
57 %OptimizeFunctionOnNextCall(g, "concurrent"); | 63 %OptimizeFunctionOnNextCall(g, "concurrent"); |
58 f(g(2)); // Kick off recompilation. | 64 f(g(3)); // Kick off recompilation. |
59 | 65 |
60 assertUnoptimized(f, "no sync"); // Not yet optimized since recompilation | 66 assertUnoptimized(f, "no sync"); // Not yet optimized since recompilation |
61 assertUnoptimized(g, "no sync"); // is still blocked. | 67 assertUnoptimized(g, "no sync"); // is still blocked. |
62 | 68 |
63 // Let concurrent recompilation proceed. | 69 // Let concurrent recompilation proceed. |
64 %UnblockConcurrentRecompilation(); | 70 %UnblockConcurrentRecompilation(); |
65 | 71 |
66 assertOptimized(f, "sync"); // Optimized once we sync with the | 72 assertOptimized(f, "sync"); // Optimized once we sync with the |
67 assertOptimized(g, "sync"); // background thread. | 73 assertOptimized(g, "sync"); // background thread. |
OLD | NEW |