Index: src/x64/eh-frame-x64.cc |
diff --git a/src/x64/eh-frame-x64.cc b/src/x64/eh-frame-x64.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..489ab61cff29751534b494472d562038a4515ab3 |
--- /dev/null |
+++ b/src/x64/eh-frame-x64.cc |
@@ -0,0 +1,41 @@ |
+// Copyright 2016 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "src/x64/eh-frame-x64.h" |
+ |
+namespace v8 { |
+namespace internal { |
+ |
+static const int kRbpDwarfCode = 6; |
+static const int kRspDwarfCode = 7; |
+static const int kRipDwarfCode = 16; |
+ |
+const char* DwarfRegisterCodeToString(int code) { |
+ switch (code) { |
+ case kRbpDwarfCode: |
+ return "rbp"; |
+ case kRspDwarfCode: |
+ return "rsp"; |
+ case kRipDwarfCode: |
+ return "rip"; |
+ default: |
+ UNIMPLEMENTED(); |
+ return nullptr; |
+ } |
+} |
+ |
+int RegisterToDwarfCode(Register name) { |
+ switch (name.reg_code) { |
+ case Register::kCode_rbp: |
+ return kRbpDwarfCode; |
+ case Register::kCode_rsp: |
+ return kRspDwarfCode; |
+ default: |
+ UNIMPLEMENTED(); |
+ return -1; |
+ } |
+} |
+ |
+} // namespace internal |
+} // namespace v8 |