OLD | NEW |
| (Empty) |
1 // Copyright 2009 The Native Client Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can | |
3 // be found in the LICENSE file. | |
4 namespace Google.MsAd7.BaseImpl.DebugProperties { | |
5 public class RegisterSetSchema { | |
6 | |
7 public string Name; | |
8 public RegisterDef[] Registers; | |
9 | |
10 public static RegisterSetSchema DwarfAmd64Integer = new RegisterSetSchema { | |
11 Name = "CPU", | |
12 Registers = new RegisterDef[] { | |
13 new RegisterDef("CFA", -1, 8, true), | |
14 new RegisterDef("RAX", 0, 8), | |
15 new RegisterDef("RDX", 1, 8), | |
16 new RegisterDef("RCX", 2, 8), | |
17 new RegisterDef("RBX", 3, 8), | |
18 new RegisterDef("RSI", 4, 8), | |
19 new RegisterDef("RDI", 5, 8), | |
20 new RegisterDef("RBP", 6, 8), | |
21 new RegisterDef("RSP", 7, 8), | |
22 new RegisterDef("R8", 8, 8), | |
23 new RegisterDef("R9", 9, 8), | |
24 new RegisterDef("R10", 10, 8), | |
25 new RegisterDef("R11", 11, 8), | |
26 new RegisterDef("R12", 12, 8), | |
27 new RegisterDef("R13", 13, 8), | |
28 new RegisterDef("R14", 14, 8), | |
29 new RegisterDef("R15", 15, 8), | |
30 new RegisterDef("RIP", 16, 8), | |
31 new RegisterDef("FLAGS", 49, 4), | |
32 } | |
33 }; | |
34 | |
35 public static RegisterSetSchema DwarfAmd64Segment = new RegisterSetSchema | |
36 { | |
37 Name = "Segment", | |
38 Registers = new RegisterDef[] { | |
39 new RegisterDef( "ES", 50, 8), | |
40 new RegisterDef( "CS", 51, 8), | |
41 new RegisterDef( "SS", 52, 8), | |
42 new RegisterDef( "DS", 53, 8), | |
43 new RegisterDef( "FS", 54, 8), | |
44 new RegisterDef( "GS", 55, 8), | |
45 } | |
46 }; | |
47 | |
48 #region Nested type: RegisterDef | |
49 | |
50 public class RegisterDef { | |
51 public RegisterDef(string name, int index, uint size, bool pseudo) { | |
52 Name = name; | |
53 Index = index; | |
54 Size = size; | |
55 Pseudo = pseudo; | |
56 } | |
57 | |
58 public RegisterDef(string name, int index, uint size) | |
59 : this(name, index, size, false) { | |
60 } | |
61 | |
62 public string Name { get; private set; } | |
63 public int Index { get; private set; } | |
64 public uint Size { get; private set; } | |
65 public bool Pseudo { get; private set; } | |
66 } | |
67 | |
68 #endregion | |
69 | |
70 | |
71 } | |
72 } | |
OLD | NEW |