// Copyright 2014 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. | |
// Flags: --expose-gc --track-field-types | |
function f1(a) { return {x:a, v:''}; } | |
function f2(a) { return {x:{v:a}, v:''}; } | |
function f3(a) { return {x:[], v:{v:''}}; } | |
f3([0]); | |
a = f1(1); | |
a.__defineGetter__('v', function() { gc(); return f2(this); }); | |
a.v; | |
f3(1); |