ART: Fix noreturn for Mac
Change-Id: I59b60340a90672a4de4d3bdf092fa504394d5892
diff --git a/runtime/entrypoints/quick/quick_alloc_entrypoints.cc b/runtime/entrypoints/quick/quick_alloc_entrypoints.cc
index c049e3d..49350ca 100644
--- a/runtime/entrypoints/quick/quick_alloc_entrypoints.cc
+++ b/runtime/entrypoints/quick/quick_alloc_entrypoints.cc
@@ -230,8 +230,13 @@
entry_points_instrumented = instrumented;
}
+#if defined(__APPLE__) && defined(__LP64__)
+void ResetQuickAllocEntryPoints(QuickEntryPoints* qpoints ATTRIBUTE_UNUSED) {
+ UNIMPLEMENTED(FATAL);
+ UNREACHABLE();
+}
+#else
void ResetQuickAllocEntryPoints(QuickEntryPoints* qpoints) {
-#if !defined(__APPLE__) || !defined(__LP64__)
switch (entry_points_allocator) {
case gc::kAllocatorTypeDlMalloc: {
SetQuickAllocEntryPoints_dlmalloc(qpoints, entry_points_instrumented);
@@ -261,14 +266,15 @@
SetQuickAllocEntryPoints_region_tlab(qpoints, entry_points_instrumented);
return;
}
- default:
- break;
+
+ case gc::kAllocatorTypeLOS:
+ case gc::kAllocatorTypeNonMoving:
+ UNIMPLEMENTED(FATAL) << "Unexpected allocator type " << entry_points_allocator;
+ UNREACHABLE();
}
-#else
- UNUSED(qpoints);
-#endif
- UNIMPLEMENTED(FATAL);
+ LOG(FATAL);
UNREACHABLE();
}
+#endif
} // namespace art
diff --git a/runtime/entrypoints/quick/quick_alloc_entrypoints.h b/runtime/entrypoints/quick/quick_alloc_entrypoints.h
index ec0aef5..a99dc8a 100644
--- a/runtime/entrypoints/quick/quick_alloc_entrypoints.h
+++ b/runtime/entrypoints/quick/quick_alloc_entrypoints.h
@@ -17,12 +17,16 @@
#ifndef ART_RUNTIME_ENTRYPOINTS_QUICK_QUICK_ALLOC_ENTRYPOINTS_H_
#define ART_RUNTIME_ENTRYPOINTS_QUICK_QUICK_ALLOC_ENTRYPOINTS_H_
+#include "base/macros.h"
#include "base/mutex.h"
#include "gc/allocator_type.h"
#include "quick_entrypoints.h"
namespace art {
+#if defined(__APPLE__) && defined(__LP64__)
+NO_RETURN
+#endif
void ResetQuickAllocEntryPoints(QuickEntryPoints* qpoints);
// Runtime shutdown lock is necessary to prevent races in thread initialization. When the thread is