Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2016 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 --min-semi-space-size=32 | |
| 6 | |
| 7 // We need to set --min-semi-space-size to enable allocation site pretenuring. | |
| 8 | |
| 9 function foo(i) { | |
| 10 with({}) {}; | |
| 11 x = {}; | |
| 12 x.a = 0.23; | |
| 13 x.b = 0.3; | |
| 14 return x; | |
| 15 } | |
| 16 | |
| 17 var all = []; | |
| 18 function step() { | |
| 19 for (var i = 0; i < 100; i++) { | |
| 20 var z = foo(i); | |
| 21 // Write unboxed double in object slack. | |
| 22 z.c = 0.1 + z.b | |
| 23 all.push(z); | |
| 24 } | |
| 25 gc(1); | |
| 26 gc(1); | |
| 27 } | |
| 28 | |
| 29 step(); | |
| 30 // Now foo will allocate objects in old space. | |
| 31 step(); | |
| OLD | NEW |