blob: f6b77d90829cf17587314d1fd0f2983698f4bdfa [file] [log] [blame]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001// 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)));