Revision: 17805
Author: [email protected]
Date: Fri Nov 15 18:44:59 2013 UTC
Log: Fix bogus allocation limit in allocation folding.
[email protected]
TEST=mjsunit/allocation-folding
Review URL: https://codereview.chromium.org/73563004
http://code.google.com/p/v8/source/detail?r=17805
Modified:
/branches/bleeding_edge/src/hydrogen-instructions.cc
/branches/bleeding_edge/test/mjsunit/allocation-folding.js
=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.cc Fri Nov 15
12:10:59 2013 UTC
+++ /branches/bleeding_edge/src/hydrogen-instructions.cc Fri Nov 15
18:44:59 2013 UTC
@@ -3404,7 +3404,7 @@
}
}
- if (new_dominator_size > Page::kMaxNonCodeHeapObjectSize) {
+ if (new_dominator_size >
isolate()->heap()->MaxRegularSpaceAllocationSize()) {
if (FLAG_trace_allocation_folding) {
PrintF("#%d (%s) cannot fold into #%d (%s) due to size: %d\n",
id(), Mnemonic(), dominator_allocate->id(),
=======================================
--- /branches/bleeding_edge/test/mjsunit/allocation-folding.js Wed Aug 28
08:39:43 2013 UTC
+++ /branches/bleeding_edge/test/mjsunit/allocation-folding.js Fri Nov 15
18:44:59 2013 UTC
@@ -100,3 +100,17 @@
assertEquals(result[1], 4);
assertEquals(result2[1], 6);
+
+// Test to exceed the Heap::MaxRegularSpaceAllocationSize limit but not
+// the Page::kMaxNonCodeHeapObjectSize limit with allocation folding.
+
+function boom() {
+ var a1 = new Array(84632);
+ var a2 = new Array(84632);
+ var a3 = new Array(84632);
+ return [ a1, a2, a3 ];
+}
+
+boom(); boom(); boom();
+%OptimizeFunctionOnNextCall(boom);
+boom();
--
--
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/groups/opt_out.