From 7020278bce98a0735dc6abcbd33bdf1ed2634f1d Mon Sep 17 00:00:00 2001 From: Dave Allison Date: Tue, 22 Oct 2013 17:52:19 -0700 Subject: Support hardware divide instruction Bug: 11299025 Uses sdiv for division and a combo of sdiv, mul and sub for modulus. Only does this on processors that are capable of the sdiv instruction, as determined by the build system. Also provides a command line arg --instruction-set-features= to allow cross compilation. Makefile adds the --instruction-set-features= arg to build-time dex2oat runs and defaults it to something obtained from the target architecture. Provides a GetInstructionSetFeatures() function on CompilerDriver that can be queried for various features. The only feature supported right now is hasDivideInstruction(). Also adds a few more instructions to the ARM disassembler b/11535253 is an addition to this CL to be done later. Change-Id: Ia8aaf801fd94bc71e476902749cf20f74eba9f68 --- oatdump/oatdump.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'oatdump') diff --git a/oatdump/oatdump.cc b/oatdump/oatdump.cc index 3a32ff14bd..b9716d556f 100644 --- a/oatdump/oatdump.cc +++ b/oatdump/oatdump.cc @@ -118,6 +118,9 @@ class OatDumper { os << "INSTRUCTION SET:\n"; os << oat_header.GetInstructionSet() << "\n\n"; + os << "INSTRUCTION SET FEATURES:\n"; + os << oat_header.GetInstructionSetFeatures().GetFeatureString() << "\n\n"; + os << "DEX FILE COUNT:\n"; os << oat_header.GetDexFileCount() << "\n\n"; -- cgit v1.2.3