OLD | NEW |
| (Empty) |
1 // Copyright 2017 the V8 project authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Flags: --allow-natives-syntax --opt --no-always-opt | |
6 | |
7 (function() { | |
8 function foo(i) { return "a".charAt(i); } | |
9 | |
10 assertEquals("a", foo(0)); | |
11 assertEquals("a", foo(0)); | |
12 assertEquals("", foo(1)); | |
13 %OptimizeFunctionOnNextCall(foo); | |
14 assertEquals("", foo(1)); | |
15 assertOptimized(foo); | |
16 })(); | |
17 | |
18 (function() { | |
19 function foo(i) { return "a".charCodeAt(i); } | |
20 | |
21 assertEquals(97, foo(0)); | |
22 assertEquals(97, foo(0)); | |
23 assertEquals(NaN, foo(1)); | |
24 %OptimizeFunctionOnNextCall(foo); | |
25 assertEquals(NaN, foo(1)); | |
26 assertOptimized(foo); | |
27 })(); | |
OLD | NEW |