• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3// found in the LICENSE file.
4
5// Flags: --allow-natives-syntax
6
7var doubles = new Float64Array(1);
8function ToHeapNumber(i) {
9  doubles[0] = i;
10  return doubles[0];
11}
12for (var i = 0; i < 3; i++) ToHeapNumber(i);
13%OptimizeFunctionOnNextCall(ToHeapNumber);
14ToHeapNumber(1);
15
16function Fail(a, i, v) {
17  a[i] = v;
18}
19
20for (var i = 0; i < 3; i++) Fail(new Array(1), 1, i);
21%OptimizeFunctionOnNextCall(Fail);
22// 1050 > JSObject::kMaxGap, causing stub failure and runtime call.
23Fail(new Array(1), ToHeapNumber(1050), 3);
24