// Copyright 2017 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. function set_x(v) { x = v; } var o = {}; set_x(o); set_x(o); assertEquals(o, x); Object.defineProperty(this, "x", { value:5, writable:false, configurable:true }); assertEquals(5, x); set_x(o); set_x(o); assertEquals(5, x); Object.defineProperty(this, "x", { value:42, writable:true, configurable:true }); assertEquals(42, x); set_x(o); assertEquals(o, x);