diff options
Diffstat (limited to 'deps/v8/test/mjsunit/regress/regress-587004.js')
-rw-r--r-- | deps/v8/test/mjsunit/regress/regress-587004.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/regress/regress-587004.js b/deps/v8/test/mjsunit/regress/regress-587004.js new file mode 100644 index 0000000000..9dc6052c43 --- /dev/null +++ b/deps/v8/test/mjsunit/regress/regress-587004.js @@ -0,0 +1,31 @@ +// 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. + +function foo(i) { + with({}) {}; + x = {}; + x.a = 0.23; + x.b = 0.3; + return x; +} + +var all = []; +function step() { + for (var i = 0; i < 100; i++) { + var z = foo(i); + // Write unboxed double in object slack. + z.c = 0.1 + z.b + all.push(z); + } + gc(1); + gc(1); +} + +step(); +// Now foo will allocate objects in old space. +step(); |