1014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch// Copyright 2015 the V8 project authors. All rights reserved. 2014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch// found in the LICENSE file. 4014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 5014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch// Flags: --allow-natives-syntax 6014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 7014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochfunction Foo(x) { 8014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch this.x = x; 9014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch} 10014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 11014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvar f = new Foo(1.25); 12014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvar g = new Foo(2.25); 13014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 14014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochfunction add(a, b) { 15014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch var name = "x"; 16014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch return a[name] + b[name]; 17014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch} 18014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch 19014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben MurdochassertEquals(3.5, add(f, g)); 20014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben MurdochassertEquals(3.5, add(g, f)); 21014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch%OptimizeFunctionOnNextCall(add); 22014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben MurdochassertEquals(3.5, add(f, g)); 23014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben MurdochassertEquals(3.5, add(g, f)); 24