Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(398)

Side by Side Diff: src/mips/code-stubs-mips.cc

Issue 501323002: Replace our homegrown ARRAY_SIZE() with Chrome's arraysize(). (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_MIPS 7 #if V8_TARGET_ARCH_MIPS
8 8
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
11 #include "src/codegen.h" 11 #include "src/codegen.h"
12 #include "src/ic/handler-compiler.h" 12 #include "src/ic/handler-compiler.h"
13 #include "src/isolate.h" 13 #include "src/isolate.h"
14 #include "src/jsregexp.h" 14 #include "src/jsregexp.h"
15 #include "src/regexp-macro-assembler.h" 15 #include "src/regexp-macro-assembler.h"
16 #include "src/runtime.h" 16 #include "src/runtime.h"
17 17
18 namespace v8 { 18 namespace v8 {
19 namespace internal { 19 namespace internal {
20 20
21 21
22 void FastNewClosureStub::InitializeInterfaceDescriptor( 22 void FastNewClosureStub::InitializeInterfaceDescriptor(
23 CodeStubInterfaceDescriptor* descriptor) { 23 CodeStubInterfaceDescriptor* descriptor) {
24 Register registers[] = { cp, a2 }; 24 Register registers[] = { cp, a2 };
25 descriptor->Initialize( 25 descriptor->Initialize(
26 MajorKey(), ARRAY_SIZE(registers), registers, 26 MajorKey(), arraysize(registers), registers,
27 Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry); 27 Runtime::FunctionForId(Runtime::kNewClosureFromStubFailure)->entry);
28 } 28 }
29 29
30 30
31 void FastNewContextStub::InitializeInterfaceDescriptor( 31 void FastNewContextStub::InitializeInterfaceDescriptor(
32 CodeStubInterfaceDescriptor* descriptor) { 32 CodeStubInterfaceDescriptor* descriptor) {
33 Register registers[] = { cp, a1 }; 33 Register registers[] = { cp, a1 };
34 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); 34 descriptor->Initialize(MajorKey(), arraysize(registers), registers);
35 } 35 }
36 36
37 37
38 void ToNumberStub::InitializeInterfaceDescriptor( 38 void ToNumberStub::InitializeInterfaceDescriptor(
39 CodeStubInterfaceDescriptor* descriptor) { 39 CodeStubInterfaceDescriptor* descriptor) {
40 Register registers[] = { cp, a0 }; 40 Register registers[] = { cp, a0 };
41 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); 41 descriptor->Initialize(MajorKey(), arraysize(registers), registers);
42 } 42 }
43 43
44 44
45 void NumberToStringStub::InitializeInterfaceDescriptor( 45 void NumberToStringStub::InitializeInterfaceDescriptor(
46 CodeStubInterfaceDescriptor* descriptor) { 46 CodeStubInterfaceDescriptor* descriptor) {
47 Register registers[] = { cp, a0 }; 47 Register registers[] = { cp, a0 };
48 descriptor->Initialize( 48 descriptor->Initialize(
49 MajorKey(), ARRAY_SIZE(registers), registers, 49 MajorKey(), arraysize(registers), registers,
50 Runtime::FunctionForId(Runtime::kNumberToStringRT)->entry); 50 Runtime::FunctionForId(Runtime::kNumberToStringRT)->entry);
51 } 51 }
52 52
53 53
54 void FastCloneShallowArrayStub::InitializeInterfaceDescriptor( 54 void FastCloneShallowArrayStub::InitializeInterfaceDescriptor(
55 CodeStubInterfaceDescriptor* descriptor) { 55 CodeStubInterfaceDescriptor* descriptor) {
56 Register registers[] = { cp, a3, a2, a1 }; 56 Register registers[] = { cp, a3, a2, a1 };
57 Representation representations[] = { 57 Representation representations[] = {
58 Representation::Tagged(), 58 Representation::Tagged(),
59 Representation::Tagged(), 59 Representation::Tagged(),
60 Representation::Smi(), 60 Representation::Smi(),
61 Representation::Tagged() }; 61 Representation::Tagged() };
62 descriptor->Initialize( 62 descriptor->Initialize(
63 MajorKey(), ARRAY_SIZE(registers), registers, 63 MajorKey(), arraysize(registers), registers,
64 Runtime::FunctionForId(Runtime::kCreateArrayLiteralStubBailout)->entry, 64 Runtime::FunctionForId(Runtime::kCreateArrayLiteralStubBailout)->entry,
65 representations); 65 representations);
66 } 66 }
67 67
68 68
69 void FastCloneShallowObjectStub::InitializeInterfaceDescriptor( 69 void FastCloneShallowObjectStub::InitializeInterfaceDescriptor(
70 CodeStubInterfaceDescriptor* descriptor) { 70 CodeStubInterfaceDescriptor* descriptor) {
71 Register registers[] = { cp, a3, a2, a1, a0 }; 71 Register registers[] = { cp, a3, a2, a1, a0 };
72 descriptor->Initialize( 72 descriptor->Initialize(
73 MajorKey(), ARRAY_SIZE(registers), registers, 73 MajorKey(), arraysize(registers), registers,
74 Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry); 74 Runtime::FunctionForId(Runtime::kCreateObjectLiteral)->entry);
75 } 75 }
76 76
77 77
78 void CreateAllocationSiteStub::InitializeInterfaceDescriptor( 78 void CreateAllocationSiteStub::InitializeInterfaceDescriptor(
79 CodeStubInterfaceDescriptor* descriptor) { 79 CodeStubInterfaceDescriptor* descriptor) {
80 Register registers[] = { cp, a2, a3 }; 80 Register registers[] = { cp, a2, a3 };
81 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); 81 descriptor->Initialize(MajorKey(), arraysize(registers), registers);
82 } 82 }
83 83
84 84
85 void CallFunctionStub::InitializeInterfaceDescriptor( 85 void CallFunctionStub::InitializeInterfaceDescriptor(
86 CodeStubInterfaceDescriptor* descriptor) { 86 CodeStubInterfaceDescriptor* descriptor) {
87 UNIMPLEMENTED(); 87 UNIMPLEMENTED();
88 } 88 }
89 89
90 90
91 void CallConstructStub::InitializeInterfaceDescriptor( 91 void CallConstructStub::InitializeInterfaceDescriptor(
92 CodeStubInterfaceDescriptor* descriptor) { 92 CodeStubInterfaceDescriptor* descriptor) {
93 UNIMPLEMENTED(); 93 UNIMPLEMENTED();
94 } 94 }
95 95
96 96
97 void RegExpConstructResultStub::InitializeInterfaceDescriptor( 97 void RegExpConstructResultStub::InitializeInterfaceDescriptor(
98 CodeStubInterfaceDescriptor* descriptor) { 98 CodeStubInterfaceDescriptor* descriptor) {
99 Register registers[] = { cp, a2, a1, a0 }; 99 Register registers[] = { cp, a2, a1, a0 };
100 descriptor->Initialize( 100 descriptor->Initialize(
101 MajorKey(), ARRAY_SIZE(registers), registers, 101 MajorKey(), arraysize(registers), registers,
102 Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry); 102 Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry);
103 } 103 }
104 104
105 105
106 void TransitionElementsKindStub::InitializeInterfaceDescriptor( 106 void TransitionElementsKindStub::InitializeInterfaceDescriptor(
107 CodeStubInterfaceDescriptor* descriptor) { 107 CodeStubInterfaceDescriptor* descriptor) {
108 Register registers[] = { cp, a0, a1 }; 108 Register registers[] = { cp, a0, a1 };
109 Address entry = 109 Address entry =
110 Runtime::FunctionForId(Runtime::kTransitionElementsKind)->entry; 110 Runtime::FunctionForId(Runtime::kTransitionElementsKind)->entry;
111 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers, 111 descriptor->Initialize(MajorKey(), arraysize(registers), registers,
112 FUNCTION_ADDR(entry)); 112 FUNCTION_ADDR(entry));
113 } 113 }
114 114
115 115
116 void CompareNilICStub::InitializeInterfaceDescriptor( 116 void CompareNilICStub::InitializeInterfaceDescriptor(
117 CodeStubInterfaceDescriptor* descriptor) { 117 CodeStubInterfaceDescriptor* descriptor) {
118 Register registers[] = { cp, a0 }; 118 Register registers[] = { cp, a0 };
119 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers, 119 descriptor->Initialize(MajorKey(), arraysize(registers), registers,
120 FUNCTION_ADDR(CompareNilIC_Miss)); 120 FUNCTION_ADDR(CompareNilIC_Miss));
121 descriptor->SetMissHandler( 121 descriptor->SetMissHandler(
122 ExternalReference(IC_Utility(IC::kCompareNilIC_Miss), isolate())); 122 ExternalReference(IC_Utility(IC::kCompareNilIC_Miss), isolate()));
123 } 123 }
124 124
125 125
126 const Register InterfaceDescriptor::ContextRegister() { return cp; } 126 const Register InterfaceDescriptor::ContextRegister() { return cp; }
127 127
128 128
129 static void InitializeArrayConstructorDescriptor( 129 static void InitializeArrayConstructorDescriptor(
130 CodeStub::Major major, CodeStubInterfaceDescriptor* descriptor, 130 CodeStub::Major major, CodeStubInterfaceDescriptor* descriptor,
131 int constant_stack_parameter_count) { 131 int constant_stack_parameter_count) {
132 // register state 132 // register state
133 // cp -- context 133 // cp -- context
134 // a0 -- number of arguments 134 // a0 -- number of arguments
135 // a1 -- function 135 // a1 -- function
136 // a2 -- allocation site with elements kind 136 // a2 -- allocation site with elements kind
137 Address deopt_handler = Runtime::FunctionForId( 137 Address deopt_handler = Runtime::FunctionForId(
138 Runtime::kArrayConstructor)->entry; 138 Runtime::kArrayConstructor)->entry;
139 139
140 if (constant_stack_parameter_count == 0) { 140 if (constant_stack_parameter_count == 0) {
141 Register registers[] = { cp, a1, a2 }; 141 Register registers[] = { cp, a1, a2 };
142 descriptor->Initialize(major, ARRAY_SIZE(registers), registers, 142 descriptor->Initialize(major, arraysize(registers), registers,
143 deopt_handler, NULL, constant_stack_parameter_count, 143 deopt_handler, NULL, constant_stack_parameter_count,
144 JS_FUNCTION_STUB_MODE); 144 JS_FUNCTION_STUB_MODE);
145 } else { 145 } else {
146 // stack param count needs (constructor pointer, and single argument) 146 // stack param count needs (constructor pointer, and single argument)
147 Register registers[] = { cp, a1, a2, a0 }; 147 Register registers[] = { cp, a1, a2, a0 };
148 Representation representations[] = { 148 Representation representations[] = {
149 Representation::Tagged(), 149 Representation::Tagged(),
150 Representation::Tagged(), 150 Representation::Tagged(),
151 Representation::Tagged(), 151 Representation::Tagged(),
152 Representation::Integer32() }; 152 Representation::Integer32() };
153 descriptor->Initialize(major, ARRAY_SIZE(registers), registers, a0, 153 descriptor->Initialize(major, arraysize(registers), registers, a0,
154 deopt_handler, representations, 154 deopt_handler, representations,
155 constant_stack_parameter_count, 155 constant_stack_parameter_count,
156 JS_FUNCTION_STUB_MODE, PASS_ARGUMENTS); 156 JS_FUNCTION_STUB_MODE, PASS_ARGUMENTS);
157 } 157 }
158 } 158 }
159 159
160 160
161 static void InitializeInternalArrayConstructorDescriptor( 161 static void InitializeInternalArrayConstructorDescriptor(
162 CodeStub::Major major, CodeStubInterfaceDescriptor* descriptor, 162 CodeStub::Major major, CodeStubInterfaceDescriptor* descriptor,
163 int constant_stack_parameter_count) { 163 int constant_stack_parameter_count) {
164 // register state 164 // register state
165 // cp -- context 165 // cp -- context
166 // a0 -- number of arguments 166 // a0 -- number of arguments
167 // a1 -- constructor function 167 // a1 -- constructor function
168 Address deopt_handler = Runtime::FunctionForId( 168 Address deopt_handler = Runtime::FunctionForId(
169 Runtime::kInternalArrayConstructor)->entry; 169 Runtime::kInternalArrayConstructor)->entry;
170 170
171 if (constant_stack_parameter_count == 0) { 171 if (constant_stack_parameter_count == 0) {
172 Register registers[] = { cp, a1 }; 172 Register registers[] = { cp, a1 };
173 descriptor->Initialize(major, ARRAY_SIZE(registers), registers, 173 descriptor->Initialize(major, arraysize(registers), registers,
174 deopt_handler, NULL, constant_stack_parameter_count, 174 deopt_handler, NULL, constant_stack_parameter_count,
175 JS_FUNCTION_STUB_MODE); 175 JS_FUNCTION_STUB_MODE);
176 } else { 176 } else {
177 // stack param count needs (constructor pointer, and single argument) 177 // stack param count needs (constructor pointer, and single argument)
178 Register registers[] = { cp, a1, a0 }; 178 Register registers[] = { cp, a1, a0 };
179 Representation representations[] = { 179 Representation representations[] = {
180 Representation::Tagged(), 180 Representation::Tagged(),
181 Representation::Tagged(), 181 Representation::Tagged(),
182 Representation::Integer32() }; 182 Representation::Integer32() };
183 descriptor->Initialize(major, ARRAY_SIZE(registers), registers, a0, 183 descriptor->Initialize(major, arraysize(registers), registers, a0,
184 deopt_handler, representations, 184 deopt_handler, representations,
185 constant_stack_parameter_count, 185 constant_stack_parameter_count,
186 JS_FUNCTION_STUB_MODE, PASS_ARGUMENTS); 186 JS_FUNCTION_STUB_MODE, PASS_ARGUMENTS);
187 } 187 }
188 } 188 }
189 189
190 190
191 void ArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( 191 void ArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor(
192 CodeStubInterfaceDescriptor* descriptor) { 192 CodeStubInterfaceDescriptor* descriptor) {
193 InitializeArrayConstructorDescriptor(MajorKey(), descriptor, 0); 193 InitializeArrayConstructorDescriptor(MajorKey(), descriptor, 0);
194 } 194 }
195 195
196 196
197 void ArraySingleArgumentConstructorStub::InitializeInterfaceDescriptor( 197 void ArraySingleArgumentConstructorStub::InitializeInterfaceDescriptor(
198 CodeStubInterfaceDescriptor* descriptor) { 198 CodeStubInterfaceDescriptor* descriptor) {
199 InitializeArrayConstructorDescriptor(MajorKey(), descriptor, 1); 199 InitializeArrayConstructorDescriptor(MajorKey(), descriptor, 1);
200 } 200 }
201 201
202 202
203 void ArrayNArgumentsConstructorStub::InitializeInterfaceDescriptor( 203 void ArrayNArgumentsConstructorStub::InitializeInterfaceDescriptor(
204 CodeStubInterfaceDescriptor* descriptor) { 204 CodeStubInterfaceDescriptor* descriptor) {
205 InitializeArrayConstructorDescriptor(MajorKey(), descriptor, -1); 205 InitializeArrayConstructorDescriptor(MajorKey(), descriptor, -1);
206 } 206 }
207 207
208 208
209 void ToBooleanStub::InitializeInterfaceDescriptor( 209 void ToBooleanStub::InitializeInterfaceDescriptor(
210 CodeStubInterfaceDescriptor* descriptor) { 210 CodeStubInterfaceDescriptor* descriptor) {
211 Register registers[] = { cp, a0 }; 211 Register registers[] = { cp, a0 };
212 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers, 212 descriptor->Initialize(MajorKey(), arraysize(registers), registers,
213 FUNCTION_ADDR(ToBooleanIC_Miss)); 213 FUNCTION_ADDR(ToBooleanIC_Miss));
214 descriptor->SetMissHandler( 214 descriptor->SetMissHandler(
215 ExternalReference(IC_Utility(IC::kToBooleanIC_Miss), isolate())); 215 ExternalReference(IC_Utility(IC::kToBooleanIC_Miss), isolate()));
216 } 216 }
217 217
218 218
219 void InternalArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( 219 void InternalArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor(
220 CodeStubInterfaceDescriptor* descriptor) { 220 CodeStubInterfaceDescriptor* descriptor) {
221 InitializeInternalArrayConstructorDescriptor(MajorKey(), descriptor, 0); 221 InitializeInternalArrayConstructorDescriptor(MajorKey(), descriptor, 0);
222 } 222 }
223 223
224 224
225 void InternalArraySingleArgumentConstructorStub::InitializeInterfaceDescriptor( 225 void InternalArraySingleArgumentConstructorStub::InitializeInterfaceDescriptor(
226 CodeStubInterfaceDescriptor* descriptor) { 226 CodeStubInterfaceDescriptor* descriptor) {
227 InitializeInternalArrayConstructorDescriptor(MajorKey(), descriptor, 1); 227 InitializeInternalArrayConstructorDescriptor(MajorKey(), descriptor, 1);
228 } 228 }
229 229
230 230
231 void InternalArrayNArgumentsConstructorStub::InitializeInterfaceDescriptor( 231 void InternalArrayNArgumentsConstructorStub::InitializeInterfaceDescriptor(
232 CodeStubInterfaceDescriptor* descriptor) { 232 CodeStubInterfaceDescriptor* descriptor) {
233 InitializeInternalArrayConstructorDescriptor(MajorKey(), descriptor, -1); 233 InitializeInternalArrayConstructorDescriptor(MajorKey(), descriptor, -1);
234 } 234 }
235 235
236 236
237 void BinaryOpICStub::InitializeInterfaceDescriptor( 237 void BinaryOpICStub::InitializeInterfaceDescriptor(
238 CodeStubInterfaceDescriptor* descriptor) { 238 CodeStubInterfaceDescriptor* descriptor) {
239 Register registers[] = { cp, a1, a0 }; 239 Register registers[] = { cp, a1, a0 };
240 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers, 240 descriptor->Initialize(MajorKey(), arraysize(registers), registers,
241 FUNCTION_ADDR(BinaryOpIC_Miss)); 241 FUNCTION_ADDR(BinaryOpIC_Miss));
242 descriptor->SetMissHandler( 242 descriptor->SetMissHandler(
243 ExternalReference(IC_Utility(IC::kBinaryOpIC_Miss), isolate())); 243 ExternalReference(IC_Utility(IC::kBinaryOpIC_Miss), isolate()));
244 } 244 }
245 245
246 246
247 void BinaryOpWithAllocationSiteStub::InitializeInterfaceDescriptor( 247 void BinaryOpWithAllocationSiteStub::InitializeInterfaceDescriptor(
248 CodeStubInterfaceDescriptor* descriptor) { 248 CodeStubInterfaceDescriptor* descriptor) {
249 Register registers[] = { cp, a2, a1, a0 }; 249 Register registers[] = { cp, a2, a1, a0 };
250 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers, 250 descriptor->Initialize(MajorKey(), arraysize(registers), registers,
251 FUNCTION_ADDR(BinaryOpIC_MissWithAllocationSite)); 251 FUNCTION_ADDR(BinaryOpIC_MissWithAllocationSite));
252 } 252 }
253 253
254 254
255 void StringAddStub::InitializeInterfaceDescriptor( 255 void StringAddStub::InitializeInterfaceDescriptor(
256 CodeStubInterfaceDescriptor* descriptor) { 256 CodeStubInterfaceDescriptor* descriptor) {
257 Register registers[] = { cp, a1, a0 }; 257 Register registers[] = { cp, a1, a0 };
258 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers, 258 descriptor->Initialize(MajorKey(), arraysize(registers), registers,
259 Runtime::FunctionForId(Runtime::kStringAdd)->entry); 259 Runtime::FunctionForId(Runtime::kStringAdd)->entry);
260 } 260 }
261 261
262 262
263 void CallDescriptors::InitializeForIsolate(Isolate* isolate) { 263 void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
264 { 264 {
265 CallInterfaceDescriptor* descriptor = 265 CallInterfaceDescriptor* descriptor =
266 isolate->call_descriptor(Isolate::ArgumentAdaptorCall); 266 isolate->call_descriptor(Isolate::ArgumentAdaptorCall);
267 Register registers[] = { cp, // context, 267 Register registers[] = { cp, // context,
268 a1, // JSFunction 268 a1, // JSFunction
269 a0, // actual number of arguments 269 a0, // actual number of arguments
270 a2, // expected number of arguments 270 a2, // expected number of arguments
271 }; 271 };
272 Representation representations[] = { 272 Representation representations[] = {
273 Representation::Tagged(), // context 273 Representation::Tagged(), // context
274 Representation::Tagged(), // JSFunction 274 Representation::Tagged(), // JSFunction
275 Representation::Integer32(), // actual number of arguments 275 Representation::Integer32(), // actual number of arguments
276 Representation::Integer32(), // expected number of arguments 276 Representation::Integer32(), // expected number of arguments
277 }; 277 };
278 descriptor->Initialize(ARRAY_SIZE(registers), registers, representations); 278 descriptor->Initialize(arraysize(registers), registers, representations);
279 } 279 }
280 { 280 {
281 CallInterfaceDescriptor* descriptor = 281 CallInterfaceDescriptor* descriptor =
282 isolate->call_descriptor(Isolate::KeyedCall); 282 isolate->call_descriptor(Isolate::KeyedCall);
283 Register registers[] = { cp, // context 283 Register registers[] = { cp, // context
284 a2, // key 284 a2, // key
285 }; 285 };
286 Representation representations[] = { 286 Representation representations[] = {
287 Representation::Tagged(), // context 287 Representation::Tagged(), // context
288 Representation::Tagged(), // key 288 Representation::Tagged(), // key
289 }; 289 };
290 descriptor->Initialize(ARRAY_SIZE(registers), registers, representations); 290 descriptor->Initialize(arraysize(registers), registers, representations);
291 } 291 }
292 { 292 {
293 CallInterfaceDescriptor* descriptor = 293 CallInterfaceDescriptor* descriptor =
294 isolate->call_descriptor(Isolate::NamedCall); 294 isolate->call_descriptor(Isolate::NamedCall);
295 Register registers[] = { cp, // context 295 Register registers[] = { cp, // context
296 a2, // name 296 a2, // name
297 }; 297 };
298 Representation representations[] = { 298 Representation representations[] = {
299 Representation::Tagged(), // context 299 Representation::Tagged(), // context
300 Representation::Tagged(), // name 300 Representation::Tagged(), // name
301 }; 301 };
302 descriptor->Initialize(ARRAY_SIZE(registers), registers, representations); 302 descriptor->Initialize(arraysize(registers), registers, representations);
303 } 303 }
304 { 304 {
305 CallInterfaceDescriptor* descriptor = 305 CallInterfaceDescriptor* descriptor =
306 isolate->call_descriptor(Isolate::CallHandler); 306 isolate->call_descriptor(Isolate::CallHandler);
307 Register registers[] = { cp, // context 307 Register registers[] = { cp, // context
308 a0, // receiver 308 a0, // receiver
309 }; 309 };
310 Representation representations[] = { 310 Representation representations[] = {
311 Representation::Tagged(), // context 311 Representation::Tagged(), // context
312 Representation::Tagged(), // receiver 312 Representation::Tagged(), // receiver
313 }; 313 };
314 descriptor->Initialize(ARRAY_SIZE(registers), registers, representations); 314 descriptor->Initialize(arraysize(registers), registers, representations);
315 } 315 }
316 { 316 {
317 CallInterfaceDescriptor* descriptor = 317 CallInterfaceDescriptor* descriptor =
318 isolate->call_descriptor(Isolate::ApiFunctionCall); 318 isolate->call_descriptor(Isolate::ApiFunctionCall);
319 Register registers[] = { cp, // context 319 Register registers[] = { cp, // context
320 a0, // callee 320 a0, // callee
321 t0, // call_data 321 t0, // call_data
322 a2, // holder 322 a2, // holder
323 a1, // api_function_address 323 a1, // api_function_address
324 }; 324 };
325 Representation representations[] = { 325 Representation representations[] = {
326 Representation::Tagged(), // context 326 Representation::Tagged(), // context
327 Representation::Tagged(), // callee 327 Representation::Tagged(), // callee
328 Representation::Tagged(), // call_data 328 Representation::Tagged(), // call_data
329 Representation::Tagged(), // holder 329 Representation::Tagged(), // holder
330 Representation::External(), // api_function_address 330 Representation::External(), // api_function_address
331 }; 331 };
332 descriptor->Initialize(ARRAY_SIZE(registers), registers, representations); 332 descriptor->Initialize(arraysize(registers), registers, representations);
333 } 333 }
334 } 334 }
335 335
336 336
337 #define __ ACCESS_MASM(masm) 337 #define __ ACCESS_MASM(masm)
338 338
339 339
340 static void EmitIdenticalObjectComparison(MacroAssembler* masm, 340 static void EmitIdenticalObjectComparison(MacroAssembler* masm,
341 Label* slow, 341 Label* slow,
342 Condition cc); 342 Condition cc);
(...skipping 4943 matching lines...) Expand 10 before | Expand all | Expand 10 after
5286 MemOperand(fp, 6 * kPointerSize), 5286 MemOperand(fp, 6 * kPointerSize),
5287 NULL); 5287 NULL);
5288 } 5288 }
5289 5289
5290 5290
5291 #undef __ 5291 #undef __
5292 5292
5293 } } // namespace v8::internal 5293 } } // namespace v8::internal
5294 5294
5295 #endif // V8_TARGET_ARCH_MIPS 5295 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« src/base/macros.h ('K') | « src/messages.cc ('k') | src/mips64/code-stubs-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698