summaryrefslogtreecommitdiffstats
path: root/compiler/jni/quick/jni_compiler.cc
diff options
context:
space:
mode:
authorMaja Gagic <maja.gagic@imgtec.com>2015-02-24 16:55:04 +0100
committerAndreas Gampe <agampe@google.com>2015-03-06 13:05:47 -0800
commit6ea651f0f4c7de4580beb2e887d86802c1ae0738 (patch)
treefd97dcbd7301892cb785ca34aee21ad86437c3b3 /compiler/jni/quick/jni_compiler.cc
parent0e242b5cad3c0b68b72f28c1e5fd3fdd4c05bfd8 (diff)
downloadart-6ea651f0f4c7de4580beb2e887d86802c1ae0738.zip
art-6ea651f0f4c7de4580beb2e887d86802c1ae0738.tar.gz
art-6ea651f0f4c7de4580beb2e887d86802c1ae0738.tar.bz2
Initial support for quick compiler on MIPS64r6.
Change-Id: I6f43027b84e4a98ea320cddb972d9cf39bf7c4f8
Diffstat (limited to 'compiler/jni/quick/jni_compiler.cc')
-rw-r--r--compiler/jni/quick/jni_compiler.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/jni/quick/jni_compiler.cc b/compiler/jni/quick/jni_compiler.cc
index ba73828..2d9e03a 100644
--- a/compiler/jni/quick/jni_compiler.cc
+++ b/compiler/jni/quick/jni_compiler.cc
@@ -36,6 +36,7 @@
#include "utils/arm/managed_register_arm.h"
#include "utils/arm64/managed_register_arm64.h"
#include "utils/mips/managed_register_mips.h"
+#include "utils/mips64/managed_register_mips64.h"
#include "utils/x86/managed_register_x86.h"
#include "thread.h"
@@ -329,7 +330,8 @@ CompiledMethod* ArtJniCompileMethodInternal(CompilerDriver* driver,
// 11. Save return value
FrameOffset return_save_location = main_jni_conv->ReturnValueSaveLocation();
if (main_jni_conv->SizeOfReturnValue() != 0 && !reference_return) {
- if (instruction_set == kMips && main_jni_conv->GetReturnType() == Primitive::kPrimDouble &&
+ if ((instruction_set == kMips || instruction_set == kMips64) &&
+ main_jni_conv->GetReturnType() == Primitive::kPrimDouble &&
return_save_location.Uint32Value() % 8 != 0) {
// Ensure doubles are 8-byte aligned for MIPS
return_save_location = FrameOffset(return_save_location.Uint32Value() + kMipsPointerSize);