Revision: 17338
Author: [email protected]
Date: Wed Oct 23 12:30:38 2013 UTC
Log: Revert "Disable allocation folding when allocations tracking is
on"
This reverts r17337. The new test fails on V8 linux - shared:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/4726/steps/Check/logs/stdio
[email protected]
BUG=None
Review URL: https://codereview.chromium.org/37073003
http://code.google.com/p/v8/source/detail?r=17338
Modified:
/branches/bleeding_edge/src/hydrogen-instructions.cc
/branches/bleeding_edge/src/hydrogen-instructions.h
/branches/bleeding_edge/test/cctest/test-heap-profiler.cc
=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.cc Wed Oct 23
12:19:12 2013 UTC
+++ /branches/bleeding_edge/src/hydrogen-instructions.cc Wed Oct 23
12:30:38 2013 UTC
@@ -3308,10 +3308,7 @@
HValue* dominator) {
ASSERT(side_effect == kChangesNewSpacePromotion);
Zone* zone = block()->zone();
- if (!FLAG_use_allocation_folding ||
- isolate()->heap_profiler()->is_tracking_allocations()) {
- return;
- }
+ if (!FLAG_use_allocation_folding) return;
// Try to fold allocations together with their dominating allocations.
if (!dominator->IsAllocate()) {
=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.h Wed Oct 23 12:19:12
2013 UTC
+++ /branches/bleeding_edge/src/hydrogen-instructions.h Wed Oct 23 12:30:38
2013 UTC
@@ -5300,7 +5300,7 @@
PretenureFlag pretenure_flag,
InstanceType instance_type) {
return new(zone) HAllocate(context, size, type, pretenure_flag,
- instance_type, zone);
+ instance_type);
}
// Maximum instance size for which allocations will be inlined.
@@ -5373,8 +5373,7 @@
HValue* size,
HType type,
PretenureFlag pretenure_flag,
- InstanceType instance_type,
- Zone* zone)
+ InstanceType instance_type)
: HTemplateInstruction<2>(type),
dominating_allocate_(NULL),
filler_free_space_size_(NULL),
@@ -5397,8 +5396,7 @@
// other, i.e., have a pointer to each other. A GC in between these
// allocations may leave such objects behind in a not completely
initialized
// state.
- if (!FLAG_use_gvn || !FLAG_use_allocation_folding ||
- zone->isolate()->heap_profiler()->is_tracking_allocations()) {
+ if (!FLAG_use_gvn || !FLAG_use_allocation_folding) {
flags_ = static_cast<HAllocate::Flags>(flags_ | PREFILL_WITH_FILLER);
}
clear_next_map_word_ = pretenure_flag == NOT_TENURED &&
=======================================
--- /branches/bleeding_edge/test/cctest/test-heap-profiler.cc Wed Oct 23
12:19:12 2013 UTC
+++ /branches/bleeding_edge/test/cctest/test-heap-profiler.cc Wed Oct 23
12:30:38 2013 UTC
@@ -2072,23 +2072,3 @@
" a.shift();\n"
"findUntrackedObjects();\n");
}
-
-
-// If we don't disable allocation folding when allocations tracking is on,
we
-// may have untracked allocations.
-TEST(DisableAllocationFolding) {
- LocalContext env;
- v8::HandleScope scope(env->GetIsolate());
- HeapObjectsTracker tracker;
- CompileRun(
- "function literal() {"
- " return [1];"
- "}"
- "function modify_literal(literal, v) {"
- " literal[0] = v;"
- " return literal;"
- "}"
- "obj = modify_literal(literal(), 1);"
- "obj = modify_literal(literal(), 1.5);"
- "obj = modify_literal(literal(), 1);");
-}
--
--
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.