|  | // Copyright 2019 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 foo(arg) { | 
|  | var ret = { x: arg }; | 
|  | ret.__defineSetter__("y", function() { }); | 
|  | return ret; | 
|  | } | 
|  |  | 
|  | // v1 creates a map with a Smi field, v2 deprecates v1's map. | 
|  | let v1 = foo(10); | 
|  | let v2 = foo(10.5); | 
|  |  | 
|  | // Trigger a PrepareForDataProperty on v1, which also triggers an update to | 
|  | // dictionary due to the different accessors on v1 and v2's y property. | 
|  | v1.x = 20.5; |