diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-04-22 11:03:52 +0000 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-05-02 10:44:52 +0100 |
commit | 42fcd9838a87abaf7a2ef86853a5287f86dbe391 (patch) | |
tree | d8ffcfcb9c1997c06c6ef93b551abaa900ebcf8e /runtime/instruction_set.cc | |
parent | 608168b380b741e2c7e1a2b0b568c0738986166b (diff) | |
download | android_art-42fcd9838a87abaf7a2ef86853a5287f86dbe391.tar.gz android_art-42fcd9838a87abaf7a2ef86853a5287f86dbe391.tar.bz2 android_art-42fcd9838a87abaf7a2ef86853a5287f86dbe391.zip |
Revert "Revert "64bit changes to the stack walker for the Quick ABI.""
This reverts commit 8d5ead52a92675c258113d3dfa71bf8fceba5d9f.
Change-Id: I6b4774a9bd180de33551975e106322ba1192e6ab
Diffstat (limited to 'runtime/instruction_set.cc')
-rw-r--r-- | runtime/instruction_set.cc | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/runtime/instruction_set.cc b/runtime/instruction_set.cc index cbcd2e063b..c1931a9414 100644 --- a/runtime/instruction_set.cc +++ b/runtime/instruction_set.cc @@ -86,6 +86,52 @@ size_t GetInstructionSetPointerSize(InstructionSet isa) { } } +size_t GetBytesPerGprSpillLocation(InstructionSet isa) { + switch (isa) { + case kArm: + // Fall-through. + case kThumb2: + return 4; + case kArm64: + return 8; + case kX86: + return 4; + case kX86_64: + return 8; + case kMips: + return 4; + case kNone: + LOG(FATAL) << "ISA kNone does not have spills."; + return 0; + default: + LOG(FATAL) << "Unknown ISA " << isa; + return 0; + } +} + +size_t GetBytesPerFprSpillLocation(InstructionSet isa) { + switch (isa) { + case kArm: + // Fall-through. + case kThumb2: + return 4; + case kArm64: + return 8; + case kX86: + return 8; + case kX86_64: + return 8; + case kMips: + return 4; + case kNone: + LOG(FATAL) << "ISA kNone does not have spills."; + return 0; + default: + LOG(FATAL) << "Unknown ISA " << isa; + return 0; + } +} + size_t GetInstructionSetAlignment(InstructionSet isa) { switch (isa) { case kArm: |