Refactor the compilers out of libart.
This builds three separate compilers and dynamically links with the right one
at runtime.
Change-Id: I59d22b9884f41de733c09f97e29ee290236d5f4b
diff --git a/src/card_table.cc b/src/card_table.cc
index 386b27c..dc61c0a 100644
--- a/src/card_table.cc
+++ b/src/card_table.cc
@@ -21,6 +21,7 @@
#include "heap.h"
#include "heap_bitmap.h"
#include "logging.h"
+#include "runtime.h"
#include "utils.h"
namespace art {
@@ -96,6 +97,7 @@
}
void CardTable::Scan(byte* heap_begin, byte* heap_end, Callback* visitor, void* arg) const {
+ Heap* heap = Runtime::Current()->GetHeap();
byte* card_cur = CardFromAddr(heap_begin);
byte* card_end = CardFromAddr(heap_end);
while (card_cur < card_end) {
@@ -110,7 +112,7 @@
}
if (run > 0) {
byte* run_end = &card_cur[run];
- Heap::GetLiveBits()->VisitRange(reinterpret_cast<uintptr_t>(AddrFromCard(run_start)),
+ heap->GetLiveBits()->VisitRange(reinterpret_cast<uintptr_t>(AddrFromCard(run_start)),
reinterpret_cast<uintptr_t>(AddrFromCard(run_end)),
visitor, arg);
}