// 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. // Flags: --allow-natives-syntax --expose-gc function* gen() {}; %PrepareFunctionForOptimization(gen); (function warmup() { for (var i = 0; i < 100; ++i) { var g = gen(); g.p = 42; } })(); gc(); // Ensure no instance alive. gen(); // Still has unused fields. %OptimizeFunctionOnNextCall(gen); gen(); // Was shrunk, boom!