summaryrefslogtreecommitdiffstats
path: root/oatdump
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2014-09-17 11:27:23 +0100
committerNicolas Geoffray <ngeoffray@google.com>2014-09-17 11:27:23 +0100
commit20d3eae6bd65bea5206e57acab8145956e36ab08 (patch)
treebfc7c5f7159ce3ef233efee8b8e11f71129deba2 /oatdump
parent7d029af44c45c56b3b7a271c54434c2dcec1e219 (diff)
downloadart-20d3eae6bd65bea5206e57acab8145956e36ab08.tar.gz
art-20d3eae6bd65bea5206e57acab8145956e36ab08.tar.bz2
art-20d3eae6bd65bea5206e57acab8145956e36ab08.zip
Update comment about disabling vmap dump.
Change-Id: If5d09b0d5cb9a8039b0037e6eedaae6785b1ded2
Diffstat (limited to 'oatdump')
-rw-r--r--oatdump/oatdump.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/oatdump/oatdump.cc b/oatdump/oatdump.cc
index bac3c33022..87de52988c 100644
--- a/oatdump/oatdump.cc
+++ b/oatdump/oatdump.cc
@@ -780,10 +780,7 @@ class OatDumper {
oat_method.GetVmapTableOffsetOffset());
success = false;
} else if (options_->dump_vmap_) {
- if (oat_method.GetNativeGcMap() != nullptr) {
- // The native GC map is null for methods compiled with the optimizing compiler.
- DumpVmap(*indent2_os, oat_method);
- }
+ DumpVmap(*indent2_os, oat_method);
}
}
{
@@ -894,6 +891,12 @@ class OatDumper {
}
void DumpVmap(std::ostream& os, const OatFile::OatMethod& oat_method) {
+ // If the native GC map is null, then this method has been compiled with the
+ // optimizing compiler. The optimizing compiler currently outputs its stack map
+ // in the vmap table, and the code below does not work with such a stack map.
+ if (oat_method.GetNativeGcMap() == nullptr) {
+ return;
+ }
const uint8_t* raw_table = oat_method.GetVmapTable();
if (raw_table != nullptr) {
const VmapTable vmap_table(raw_table);