// Copyright 2016 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 --min-semi-space-size=32// We need to set --min-semi-space-size to enable allocation site pretenuring.functionfoo(i){with({}){};x={};x.a=0.23;x.b=0.3;returnx;}varall=[];functionstep(){for(vari=0;i<100;i++){varz=foo(i);// Write unboxed double in object slack.z.c=0.1+z.ball.push(z);}gc(1);gc(1);}step();// Now foo will allocate objects in old space.step();