Revision: 21209
Author: [email protected]
Date: Fri May 9 09:23:10 2014 UTC
Log: Make new space iterable for --log-gc and --heap-stats options
[email protected]
BUG=370827
TEST=test/mjsunit/regress/regress-370827.js
LOG=N
Review URL: https://codereview.chromium.org/272503005
http://code.google.com/p/v8/source/detail?r=21209
Added:
/branches/bleeding_edge/test/mjsunit/regress/regress-370827.js
Modified:
/branches/bleeding_edge/src/hydrogen-instructions.cc
=======================================
--- /dev/null
+++ /branches/bleeding_edge/test/mjsunit/regress/regress-370827.js Fri May
9 09:23:10 2014 UTC
@@ -0,0 +1,21 @@
+// 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 --expose-gc --heap-stats
+
+function g(dummy, x) {
+ var start = "";
+ if (x) { start = x + " - "; }
+ start = start + "array length";
+};
+
+function f() {
+ gc();
+ g([0.1]);
+}
+
+f();
+%OptimizeFunctionOnNextCall(f);
+f();
+f();
=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.cc Fri May 9
08:28:25 2014 UTC
+++ /branches/bleeding_edge/src/hydrogen-instructions.cc Fri May 9
09:23:10 2014 UTC
@@ -3825,19 +3825,18 @@
dominator_allocate);
dominator_allocate->UpdateSize(new_dominator_size_constant);
+ bool keep_new_space_iterable = FLAG_log_gc || FLAG_heap_stats;
#ifdef VERIFY_HEAP
- if (FLAG_verify_heap && dominator_allocate->IsNewSpaceAllocation()) {
+ keep_new_space_iterable = keep_new_space_iterable || FLAG_verify_heap;
+#endif
+
+ if (keep_new_space_iterable &&
dominator_allocate->IsNewSpaceAllocation()) {
dominator_allocate->MakePrefillWithFiller();
} else {
// TODO(hpayer): This is a short-term hack to make allocation mementos
// work again in new space.
dominator_allocate->ClearNextMapWord(original_object_size);
}
-#else
- // TODO(hpayer): This is a short-term hack to make allocation mementos
- // work again in new space.
- dominator_allocate->ClearNextMapWord(original_object_size);
-#endif
dominator_allocate->UpdateClearNextMapWord(MustClearNextMapWord());
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.