summaryrefslogtreecommitdiff
path: root/runtime/gc/allocator/rosalloc.cc
diff options
context:
space:
mode:
author Maxim Kazantsev <maxim.kazantsev@intel.com> 2014-10-16 10:55:47 +0700
committer Maxim Kazantsev <maxim.kazantsev@intel.com> 2014-10-16 10:55:47 +0700
commit2fdeecb890a353d3f17407cc1cb015e0a65c2220 (patch)
tree34e4c9b538be3984e5d64bde7038b6a376d51080 /runtime/gc/allocator/rosalloc.cc
parent16b842af16286243baa5e1ad07ce25f14a730df3 (diff)
Rosalloc should print unreachable page map type
When rosalloc receives unexpected page map type, it is not printed in error message because it has 'byte' type. When printed to LOG(FATAL), it is interpreted as symbol (usually unprintable). This patch allows to see unexpected page map types as integers. Change-Id: Ic9d472f933862f4e2671904277990d8a83bc4c89
Diffstat (limited to 'runtime/gc/allocator/rosalloc.cc')
-rw-r--r--runtime/gc/allocator/rosalloc.cc26
1 files changed, 13 insertions, 13 deletions
diff --git a/runtime/gc/allocator/rosalloc.cc b/runtime/gc/allocator/rosalloc.cc
index 0cea89dc17..a3da532ec8 100644
--- a/runtime/gc/allocator/rosalloc.cc
+++ b/runtime/gc/allocator/rosalloc.cc
@@ -264,7 +264,7 @@ void* RosAlloc::AllocPages(Thread* self, size_t num_pages, uint8_t page_map_type
}
break;
default:
- LOG(FATAL) << "Unreachable - page map type: " << page_map_type;
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(page_map_type);
break;
}
if (kIsDebugBuild) {
@@ -499,7 +499,7 @@ size_t RosAlloc::FreeInternal(Thread* self, void* ptr) {
case kPageMapLargeObject:
return FreePages(self, ptr, false);
case kPageMapLargeObjectPart:
- LOG(FATAL) << "Unreachable - page map type: " << page_map_[pm_idx];
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(page_map_[pm_idx]);
return 0;
case kPageMapRunPart: {
// Find the beginning of the run.
@@ -514,11 +514,11 @@ size_t RosAlloc::FreeInternal(Thread* self, void* ptr) {
break;
case kPageMapReleased:
case kPageMapEmpty:
- LOG(FATAL) << "Unreachable - page map type: " << page_map_[pm_idx];
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(page_map_[pm_idx]);
return 0;
}
default:
- LOG(FATAL) << "Unreachable - page map type: " << page_map_[pm_idx];
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(page_map_[pm_idx]);
return 0;
}
}
@@ -1189,7 +1189,7 @@ size_t RosAlloc::BulkFree(Thread* self, void** ptrs, size_t num_ptrs) {
freed_bytes += FreePages(self, ptr, false);
continue;
} else {
- LOG(FATAL) << "Unreachable - page map type: " << page_map_entry;
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(page_map_entry);
}
} else {
// Read the page map entries with a lock.
@@ -1215,7 +1215,7 @@ size_t RosAlloc::BulkFree(Thread* self, void** ptrs, size_t num_ptrs) {
freed_bytes += FreePages(self, ptr, false);
continue;
} else {
- LOG(FATAL) << "Unreachable - page map type: " << page_map_entry;
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(page_map_entry);
}
}
DCHECK(run != nullptr);
@@ -1477,7 +1477,7 @@ size_t RosAlloc::UsableSize(void* ptr) {
return IndexToBracketSize(idx);
}
default: {
- LOG(FATAL) << "Unreachable - page map type: " << page_map_[pm_idx];
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(page_map_[pm_idx]);
break;
}
}
@@ -1593,7 +1593,7 @@ void RosAlloc::InspectAll(void (*handler)(void* start, void* end, size_t used_by
break;
}
case kPageMapLargeObjectPart:
- LOG(FATAL) << "Unreachable - page map type: " << pm;
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(pm);
break;
case kPageMapRun: {
// The start of a run.
@@ -1613,10 +1613,10 @@ void RosAlloc::InspectAll(void (*handler)(void* start, void* end, size_t used_by
break;
}
case kPageMapRunPart:
- LOG(FATAL) << "Unreachable - page map type: " << pm;
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(pm);
break;
default:
- LOG(FATAL) << "Unreachable - page map type: " << pm;
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(pm);
break;
}
}
@@ -1929,7 +1929,7 @@ void RosAlloc::Verify() {
break;
}
case kPageMapLargeObjectPart:
- LOG(FATAL) << "Unreachable - page map type: " << pm << std::endl << DumpPageMap();
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(pm) << std::endl << DumpPageMap();
break;
case kPageMapRun: {
// The start of a run.
@@ -1957,7 +1957,7 @@ void RosAlloc::Verify() {
case kPageMapRunPart:
// Fall-through.
default:
- LOG(FATAL) << "Unreachable - page map type: " << pm << std::endl << DumpPageMap();
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(pm) << std::endl << DumpPageMap();
break;
}
}
@@ -2146,7 +2146,7 @@ size_t RosAlloc::ReleasePages() {
++i;
break; // Skip.
default:
- LOG(FATAL) << "Unreachable - page map type: " << pm;
+ LOG(FATAL) << "Unreachable - page map type: " << static_cast<int>(pm);
break;
}
}