summaryrefslogtreecommitdiffstats
path: root/runtime/instruction_set.cc
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2014-04-22 11:03:52 +0000
committerNicolas Geoffray <ngeoffray@google.com>2014-05-02 10:44:52 +0100
commit42fcd9838a87abaf7a2ef86853a5287f86dbe391 (patch)
treed8ffcfcb9c1997c06c6ef93b551abaa900ebcf8e /runtime/instruction_set.cc
parent608168b380b741e2c7e1a2b0b568c0738986166b (diff)
downloadandroid_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.cc46
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: