summaryrefslogtreecommitdiffstats
path: root/runtime/verify_object-inl.h
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-03-27 10:55:04 -0700
committerMathieu Chartier <mathieuc@google.com>2014-03-27 15:24:44 -0700
commitafe4998fc15b8de093d6b282c9782d7182829e36 (patch)
treebcb64fa7db43ece36a3e492deab5f9c162d39aa5 /runtime/verify_object-inl.h
parent67ad224199b9902b3e6d85737e03b679d1ab44f9 (diff)
downloadart-afe4998fc15b8de093d6b282c9782d7182829e36.zip
art-afe4998fc15b8de093d6b282c9782d7182829e36.tar.gz
art-afe4998fc15b8de093d6b282c9782d7182829e36.tar.bz2
Change sticky GC ergonomics to use GC throughput.
The old sticky ergonomics used partial/full GC when the bytes until the footprint limit was < min free. This was suboptimal. The new sticky GC ergonomics do partial/full GC when the throughput of the current sticky GC iteration is <= mean throughput of the partial/full GC. Total GC time on FormulaEvaluationActions.EvaluateAndApplyChanges. Before: 26.4s After: 24.8s No benchmark score change measured. Bug: 8788501 Change-Id: I90000305e93fd492a8ef5a06ec9620d830eaf90d
Diffstat (limited to 'runtime/verify_object-inl.h')
-rw-r--r--runtime/verify_object-inl.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/runtime/verify_object-inl.h b/runtime/verify_object-inl.h
index e211c83..39df375 100644
--- a/runtime/verify_object-inl.h
+++ b/runtime/verify_object-inl.h
@@ -36,9 +36,8 @@ inline void VerifyObject(mirror::Object* obj) {
bool failed = !IsAligned<kObjectAlignment>(obj);
if (!failed) {
mirror::Class* c = obj->GetClass<kVerifyNone>();
- failed = failed || c == nullptr;
- failed = failed ||!IsAligned<kObjectAlignment>(c);
- failed = failed ||!VerifyClassClass(c);
+ failed = failed || !IsAligned<kObjectAlignment>(c);
+ failed = failed || !VerifyClassClass(c);
}
if (UNLIKELY(failed)) {
Runtime::Current()->GetHeap()->VerifyObjectBody(obj);