summaryrefslogtreecommitdiffstats
path: root/runtime/runtime.cc
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2014-02-12 01:16:29 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-02-12 01:16:30 +0000
commitfd14755c09ada4769b5b6658e484441ca3f628b5 (patch)
treec70c10b6e319f44dadb56c78acaf7ce89b502d82 /runtime/runtime.cc
parent3c976a8f82007285316dd9d1bbccb659b0668a06 (diff)
parent0177e53ea521ad58b70c305700dab32f1ac773b7 (diff)
downloadart-fd14755c09ada4769b5b6658e484441ca3f628b5.zip
art-fd14755c09ada4769b5b6658e484441ca3f628b5.tar.gz
art-fd14755c09ada4769b5b6658e484441ca3f628b5.tar.bz2
Merge "Work in the direction of hard float quick ABIs."
Diffstat (limited to 'runtime/runtime.cc')
-rw-r--r--runtime/runtime.cc11
1 files changed, 5 insertions, 6 deletions
diff --git a/runtime/runtime.cc b/runtime/runtime.cc
index 9193be5..6ca45e8 100644
--- a/runtime/runtime.cc
+++ b/runtime/runtime.cc
@@ -807,7 +807,7 @@ jobject CreateSystemClassLoader() {
JValue result;
ArgArray arg_array(nullptr, 0);
- InvokeWithArgArray(soa, getSystemClassLoader, &arg_array, &result, 'L');
+ InvokeWithArgArray(soa, getSystemClassLoader, &arg_array, &result, "L");
SirtRef<mirror::ClassLoader> class_loader(soa.Self(),
down_cast<mirror::ClassLoader*>(result.GetL()));
CHECK(class_loader.get() != nullptr);
@@ -1476,12 +1476,11 @@ mirror::ArtMethod* Runtime::CreateCalleeSaveMethod(InstructionSet instruction_se
method->SetFpSpillMask(0);
} else if (instruction_set == kX86_64) {
uint32_t ref_spills =
- (1 << art::x86_64::RBP) | (1 << art::x86_64::RSI) | (1 << art::x86_64::RDI) |
- (1 << art::x86_64::R8) | (1 << art::x86_64::R9) | (1 << art::x86_64::R10) |
- (1 << art::x86_64::R11) | (1 << art::x86_64::R12) | (1 << art::x86_64::R13) |
- (1 << art::x86_64::R14) | (1 << art::x86_64::R15);
+ (1 << art::x86_64::RBX) | (1 << art::x86_64::RBP) | (1 << art::x86_64::R12) |
+ (1 << art::x86_64::R13) | (1 << art::x86_64::R14) | (1 << art::x86_64::R15);
uint32_t arg_spills =
- (1 << art::x86_64::RCX) | (1 << art::x86_64::RDX) | (1 << art::x86_64::RBX);
+ (1 << art::x86_64::RSI) | (1 << art::x86_64::RDX) | (1 << art::x86_64::RCX) |
+ (1 << art::x86_64::R8) | (1 << art::x86_64::R9);
uint32_t core_spills = ref_spills | (type == kRefsAndArgs ? arg_spills : 0) |
(1 << art::x86::kNumberOfCpuRegisters); // fake return address callee save
size_t frame_size = RoundUp((__builtin_popcount(core_spills) /* gprs */ +