summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2014-06-14 06:51:15 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-06-12 03:32:07 +0000
commitdf88a9e44673655009cc560947d29c1400516f12 (patch)
tree878228922b84dedc1ac7ad21d4ce565e5c23369a
parent579256715d16170ad821a132a43568ae696f4545 (diff)
parent136aaee2993a4a5fd93eb9371584161c6d1c7445 (diff)
downloadandroid_art-df88a9e44673655009cc560947d29c1400516f12.tar.gz
android_art-df88a9e44673655009cc560947d29c1400516f12.tar.bz2
android_art-df88a9e44673655009cc560947d29c1400516f12.zip
Merge "x86_64: Enable compilation"
-rw-r--r--compiler/dex/frontend.cc3
-rw-r--r--dex2oat/dex2oat.cc2
2 files changed, 2 insertions, 3 deletions
diff --git a/compiler/dex/frontend.cc b/compiler/dex/frontend.cc
index d40917bb66..84e1a9451b 100644
--- a/compiler/dex/frontend.cc
+++ b/compiler/dex/frontend.cc
@@ -708,7 +708,6 @@ int x86_64_support_list[] = {
// (ARM64) Current calling conversion only support 32bit softfp
// which has problems with long, float, double
constexpr char arm64_supported_types[] = "ZBSCILVJFD";
-// (x84_64) We still have troubles with compiling longs/doubles/floats
constexpr char x86_64_supported_types[] = "ZBSCILVJFD";
// TODO: Remove this when we are able to compile everything.
@@ -741,7 +740,7 @@ static bool CanCompileShorty(const char* shorty, InstructionSet instruction_set)
static bool CanCompileMethod(uint32_t method_idx, const DexFile& dex_file,
CompilationUnit& cu) {
// There is some limitation with current ARM 64 backend.
- if (cu.instruction_set == kArm64 || cu.instruction_set == kX86_64) {
+ if (cu.instruction_set == kArm64) {
// Check if we can compile the prototype.
const char* shorty = dex_file.GetMethodShorty(dex_file.GetMethodId(method_idx));
if (!CanCompileShorty(shorty, cu.instruction_set)) {
diff --git a/dex2oat/dex2oat.cc b/dex2oat/dex2oat.cc
index e2943d39b6..67ac72965b 100644
--- a/dex2oat/dex2oat.cc
+++ b/dex2oat/dex2oat.cc
@@ -1093,7 +1093,7 @@ static int dex2oat(int argc, char** argv) {
}
if (compiler_filter_string == nullptr) {
- if (instruction_set == kX86_64 || instruction_set == kArm64 || instruction_set == kMips) {
+ if ((instruction_set == kX86_64 && image) || instruction_set == kArm64 || instruction_set == kMips) {
// TODO: implement/fix compilers for these architectures.
compiler_filter_string = "interpret-only";
} else if (image) {