diff options
Diffstat (limited to 'deps/v8/test/mjsunit/regress/regress-crbug-599003.js')
-rw-r--r-- | deps/v8/test/mjsunit/regress/regress-crbug-599003.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/regress/regress-crbug-599003.js b/deps/v8/test/mjsunit/regress/regress-crbug-599003.js new file mode 100644 index 0000000000..da29455661 --- /dev/null +++ b/deps/v8/test/mjsunit/regress/regress-crbug-599003.js @@ -0,0 +1,39 @@ +// 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: --allow-natives-syntax --expose-gc --verify-heap + +function A() {} + +function g1() { + var obj = new A(); + obj.v0 = 0; + obj.v1 = 0; + obj.v2 = 0; + obj.v3 = 0; + obj.v4 = 0; + obj.v5 = 0; + obj.v6 = 0; + obj.v7 = 0; + obj.v8 = 0; + obj.v9 = 0; + return obj; +} + +function g2() { + return new A(); +} + +var o = g1(); +%OptimizeFunctionOnNextCall(g2); +g2(); +o = null; +gc(); + +for (var i = 0; i < 20; i++) { + var o = new A(); +} +g2(); + +gc(); // Boom! |