1b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch// Copyright 2014 the V8 project authors. All rights reserved. 2b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch// found in the LICENSE file. 4b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch 5b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch// Flags: --allow-natives-syntax 6b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch 7b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochfunction g() { 8b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch this.x = {}; 9b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch} 10b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch 11b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochfunction f() { 12b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch new g(); 13b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch} 14b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch 15b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochfunction deopt(x) { 16b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch %DeoptimizeFunction(f); 17b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch} 18b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch 19b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochf(); 20b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochf(); 21b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch%OptimizeFunctionOnNextCall(f); 22b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochObject.prototype.__defineSetter__('x', deopt); 23b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochf(); 24