summaryrefslogtreecommitdiffstats
path: root/compiler/utils
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2014-07-29 12:04:10 +0100
committerVladimir Marko <vmarko@google.com>2014-07-31 09:57:09 +0100
commitb19955d3c8fbd9588f7e17299e559d02938154b6 (patch)
tree10113a67776d1bb050115043e47e6970a85103c5 /compiler/utils
parent36b111c7d3d635e262114dabde4c26952c7dcbe6 (diff)
downloadart-b19955d3c8fbd9588f7e17299e559d02938154b6.zip
art-b19955d3c8fbd9588f7e17299e559d02938154b6.tar.gz
art-b19955d3c8fbd9588f7e17299e559d02938154b6.tar.bz2
Reduce time and memory usage of GVN.
Filter out dead sregs in GVN. Reclaim memory after each LVN in the GVN modification phase. Bug: 16398693 Change-Id: I8c88c3009663754e1b66c0ef3f62c3b93276e385
Diffstat (limited to 'compiler/utils')
-rw-r--r--compiler/utils/scoped_arena_allocator.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/utils/scoped_arena_allocator.h b/compiler/utils/scoped_arena_allocator.h
index 37799cb..9f33f2d 100644
--- a/compiler/utils/scoped_arena_allocator.h
+++ b/compiler/utils/scoped_arena_allocator.h
@@ -222,11 +222,11 @@ class ScopedArenaAllocatorAdapter : private DebugStackReference, private DebugSt
}
void construct(pointer p, const_reference val) {
- DebugStackIndirectTopRef::CheckTop();
+ // Don't CheckTop(), allow reusing existing capacity of a vector/deque below the top.
new (static_cast<void*>(p)) value_type(val);
}
void destroy(pointer p) {
- DebugStackIndirectTopRef::CheckTop();
+ // Don't CheckTop(), allow reusing existing capacity of a vector/deque below the top.
p->~value_type();
}