diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-03-27 10:55:04 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-03-27 15:24:44 -0700 |
commit | afe4998fc15b8de093d6b282c9782d7182829e36 (patch) | |
tree | bcb64fa7db43ece36a3e492deab5f9c162d39aa5 /runtime/verify_object-inl.h | |
parent | 67ad224199b9902b3e6d85737e03b679d1ab44f9 (diff) | |
download | art-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.h | 5 |
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); |