~ubuntu-branches/ubuntu/trusty/libv8/trusty

« back to all changes in this revision

Viewing changes to src/mips/frames-mips.h

  • Committer: Package Import Robot
  • Author(s): Jérémy Lal
  • Date: 2012-02-20 14:08:17 UTC
  • mfrom: (15.1.24 sid)
  • Revision ID: package-import@ubuntu.com-20120220140817-bsvmeoa4sxsj5hbz
Tags: 3.7.12.22-3
Fix mipsel build, allow test debug-step-3 to fail (non-crucial)

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
// Register lists.
37
37
// Note that the bit values must match those used in actual instruction
38
38
// encoding.
39
 
static const int kNumRegs = 32;
 
39
const int kNumRegs = 32;
40
40
 
41
 
static const RegList kJSCallerSaved =
 
41
const RegList kJSCallerSaved =
42
42
  1 << 2  |  // v0
43
43
  1 << 3  |  // v1
44
44
  1 << 4  |  // a0
54
54
  1 << 14 |  // t6
55
55
  1 << 15;   // t7
56
56
 
57
 
static const int kNumJSCallerSaved = 14;
 
57
const int kNumJSCallerSaved = 14;
58
58
 
59
59
 
60
60
// Return the code of the n-th caller-saved register available to JavaScript
63
63
 
64
64
 
65
65
// Callee-saved registers preserved when switching from C to JavaScript.
66
 
static const RegList kCalleeSaved =
 
66
const RegList kCalleeSaved =
67
67
  1 << 16 |  // s0
68
68
  1 << 17 |  // s1
69
69
  1 << 18 |  // s2
74
74
  1 << 23 |  // s7 (cp in Javascript code)
75
75
  1 << 30;   // fp/s8
76
76
 
77
 
static const int kNumCalleeSaved = 9;
 
77
const int kNumCalleeSaved = 9;
78
78
 
79
 
static const RegList kCalleeSavedFPU =
 
79
const RegList kCalleeSavedFPU =
80
80
  1 << 20 |  // f20
81
81
  1 << 22 |  // f22
82
82
  1 << 24 |  // f24
84
84
  1 << 28 |  // f28
85
85
  1 << 30;   // f30
86
86
 
87
 
static const int kNumCalleeSavedFPU = 6;
 
87
const int kNumCalleeSavedFPU = 6;
 
88
 
 
89
const RegList kCallerSavedFPU =
 
90
  1 << 0  |  // f0
 
91
  1 << 2  |  // f2
 
92
  1 << 4  |  // f4
 
93
  1 << 6  |  // f6
 
94
  1 << 8  |  // f8
 
95
  1 << 10 |  // f10
 
96
  1 << 12 |  // f12
 
97
  1 << 14 |  // f14
 
98
  1 << 16 |  // f16
 
99
  1 << 18;   // f18
 
100
 
 
101
 
88
102
// Number of registers for which space is reserved in safepoints. Must be a
89
103
// multiple of 8.
90
 
static const int kNumSafepointRegisters = 24;
 
104
const int kNumSafepointRegisters = 24;
91
105
 
92
106
// Define the list of registers actually saved at safepoints.
93
107
// Note that the number of saved registers may be smaller than the reserved
94
108
// space, i.e. kNumSafepointSavedRegisters <= kNumSafepointRegisters.
95
 
static const RegList kSafepointSavedRegisters = kJSCallerSaved | kCalleeSaved;
96
 
static const int kNumSafepointSavedRegisters =
 
109
const RegList kSafepointSavedRegisters = kJSCallerSaved | kCalleeSaved;
 
110
const int kNumSafepointSavedRegisters =
97
111
    kNumJSCallerSaved + kNumCalleeSaved;
98
112
 
99
113
typedef Object* JSCallerSavedBuffer[kNumJSCallerSaved];
100
114
 
101
 
static const int kUndefIndex = -1;
 
115
const int kUndefIndex = -1;
102
116
// Map with indexes on stack that corresponds to codes of saved registers.
103
 
static const int kSafepointRegisterStackIndexMap[kNumRegs] = {
 
117
const int kSafepointRegisterStackIndexMap[kNumRegs] = {
104
118
  kUndefIndex,  // zero_reg
105
119
  kUndefIndex,  // at
106
120
  0,   // v0
140
154
 
141
155
class StackHandlerConstants : public AllStatic {
142
156
 public:
143
 
  static const int kNextOffset    = 0 * kPointerSize;
144
 
  static const int kStateOffset   = 1 * kPointerSize;
145
 
  static const int kContextOffset = 2 * kPointerSize;
146
 
  static const int kFPOffset      = 3 * kPointerSize;
147
 
  static const int kPCOffset      = 4 * kPointerSize;
 
157
  static const int kNextOffset     = 0 * kPointerSize;
 
158
  static const int kCodeOffset     = 1 * kPointerSize;
 
159
  static const int kStateOffset    = 2 * kPointerSize;
 
160
  static const int kContextOffset  = 3 * kPointerSize;
 
161
  static const int kFPOffset       = 4 * kPointerSize;
148
162
 
149
 
  static const int kSize = kPCOffset + kPointerSize;
 
163
  static const int kSize = kFPOffset + kPointerSize;
150
164
};
151
165
 
152
166