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: --expose-gc --track-field-types 6 7 function f1(a) { return {x:a, v:''}; } 8 function f2(a) { return {x:{v:a}, v:''}; } 9 function f3(a) { return {x:[], v:{v:''}}; } 10 f3([0]); 11 a = f1(1); 12 a.__defineGetter__('v', function() { gc(); return f2(this); }); 13 a.v; 14 f3(1); 15