1// Copyright 2014 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 assertSame(expected, found) { 8 if (found === expected) { 9 if (expected !== 0 || (1 / expected) == (1 / found)) return; 10 } 11 return; 12}; 13 14function foo(x) { 15 return x.bar; 16} 17 18function getter1() { 19 assertSame(this, this); 20} 21var o1 = Object.defineProperty({}, "bar", { get: getter1 }); 22foo(o1); 23foo(o1); 24 25function getter2() { 26 assertSame(this, this); 27} 28var o2 = Object.defineProperty({}, "bar", { get: getter2 }); 29foo(o2); 30%OptimizeFunctionOnNextCall(foo); 31foo(o2); 32