diff options
author | Ian Rogers <irogers@google.com> | 2014-10-14 17:41:57 -0700 |
---|---|---|
committer | Ian Rogers <irogers@google.com> | 2014-10-16 19:27:28 -0700 |
commit | 6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3 (patch) | |
tree | f7a20779e4d665f948c5fbcd26dac0071dafb8d4 /oatdump | |
parent | 2df6840f68dd18d7dd8dbf53f8b6181bbfdc4fc4 (diff) | |
download | art-6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3.zip art-6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3.tar.gz art-6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3.tar.bz2 |
Make ART compile with GCC -O0 again.
Tidy up InstructionSetFeatures so that it has a type hierarchy dependent on
architecture.
Add to instruction_set_test to warn when InstructionSetFeatures don't agree
with ones from system properties, AT_HWCAP and /proc/cpuinfo.
Clean-up class linker entry point logic to not return entry points but to
test whether the passed code is the particular entrypoint. This works around
image trampolines that replicate entrypoints.
Bug: 17993736
Change-Id: I5f4b49e88c3b02a79f9bee04f83395146ed7be23
Diffstat (limited to 'oatdump')
-rw-r--r-- | oatdump/oatdump.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/oatdump/oatdump.cc b/oatdump/oatdump.cc index 1f2c0aa..2e64198 100644 --- a/oatdump/oatdump.cc +++ b/oatdump/oatdump.cc @@ -396,8 +396,13 @@ class OatDumper { os << "INSTRUCTION SET:\n"; os << oat_header.GetInstructionSet() << "\n\n"; - os << "INSTRUCTION SET FEATURES:\n"; - os << oat_header.GetInstructionSetFeatures().GetFeatureString() << "\n\n"; + { + std::unique_ptr<const InstructionSetFeatures> features( + InstructionSetFeatures::FromBitmap(oat_header.GetInstructionSet(), + oat_header.GetInstructionSetFeaturesBitmap())); + os << "INSTRUCTION SET FEATURES:\n"; + os << features->GetFeatureString() << "\n\n"; + } os << "DEX FILE COUNT:\n"; os << oat_header.GetDexFileCount() << "\n\n"; @@ -1493,7 +1498,7 @@ class ImageDumper { const void* GetQuickOatCodeBegin(mirror::ArtMethod* m) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { const void* quick_code = m->GetEntryPointFromQuickCompiledCode(); - if (quick_code == Runtime::Current()->GetClassLinker()->GetQuickResolutionTrampoline()) { + if (Runtime::Current()->GetClassLinker()->IsQuickResolutionStub(quick_code)) { quick_code = oat_dumper_->GetQuickOatCode(m); } if (oat_dumper_->GetInstructionSet() == kThumb2) { |