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