• 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
7function deopt(f) {
8  return { valueOf : function() { %DeoptimizeFunction(f); return 1.1; } };
9}
10
11function or_zero(o) {
12  return o|0;
13}
14
15function multiply_one(o) {
16  return +o;
17}
18
19function multiply_one_symbol() {
20  return +Symbol();
21}
22
23assertThrows(multiply_one_symbol, TypeError);
24assertEquals(1, or_zero(deopt(or_zero)));
25assertEquals(1.1, multiply_one(deopt(multiply_one)));
26