v8/test/mjsunit/regress/regress-373283.js
jarin@chromium.org 3d0bf69cd8 Attempt no. 3 to fix Heap::IsHeapIterable and HeapIterator.
Now we remember new space's top pointer after the last GC to find out if there was a new space allocation since the last GC.

Unfortunately, this not completely safe - the debugger has a callback hook (that can call to JS) at the end of the GC epilogue that can in theory allocate and possibly make the heap non-iterable. We can only hope this does not happen.

BUG=373283
R=hpayer@chromium.org
LOG=N

Review URL: https://codereview.chromium.org/291193005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:13:37 +00:00

19 lines
464 B
JavaScript

// Copyright 2014 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 --deopt-every-n-times=1
function __f_0() {
var x = [];
x[21] = 1;
x[21] + 0;
}
for (var i = 0; i < 3; i++) __f_0();
%OptimizeFunctionOnNextCall(__f_0);
for (var i = 0; i < 10; i++) __f_0();
%OptimizeFunctionOnNextCall(__f_0);
__f_0();
%GetScript("foo");