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

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

Issue 350293003: Cleanup CallInterfaceDescriptor (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Code comments. Created 6 years, 6 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
« no previous file with comments | « src/arm/code-stubs-arm.h ('k') | src/arm64/code-stubs-arm64.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_ARM 7 #if V8_TARGET_ARCH_ARM
8 8
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 void CallDescriptors::InitializeForIsolate(Isolate* isolate) { 304 void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
305 static PlatformCallInterfaceDescriptor default_descriptor = 305 static PlatformCallInterfaceDescriptor default_descriptor =
306 PlatformCallInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS); 306 PlatformCallInterfaceDescriptor(CAN_INLINE_TARGET_ADDRESS);
307 307
308 static PlatformCallInterfaceDescriptor noInlineDescriptor = 308 static PlatformCallInterfaceDescriptor noInlineDescriptor =
309 PlatformCallInterfaceDescriptor(NEVER_INLINE_TARGET_ADDRESS); 309 PlatformCallInterfaceDescriptor(NEVER_INLINE_TARGET_ADDRESS);
310 310
311 { 311 {
312 CallInterfaceDescriptor* descriptor = 312 CallInterfaceDescriptor* descriptor =
313 isolate->call_descriptor(Isolate::ArgumentAdaptorCall); 313 isolate->call_descriptor(Isolate::ArgumentAdaptorCall);
314 static Register registers[] = { r1, // JSFunction 314 Register registers[] = { r1, // JSFunction
315 cp, // context 315 cp, // context
316 r0, // actual number of arguments 316 r0, // actual number of arguments
317 r2, // expected number of arguments 317 r2, // expected number of arguments
318 }; 318 };
319 static Representation representations[] = { 319 Representation representations[] = {
320 Representation::Tagged(), // JSFunction 320 Representation::Tagged(), // JSFunction
321 Representation::Tagged(), // context 321 Representation::Tagged(), // context
322 Representation::Integer32(), // actual number of arguments 322 Representation::Integer32(), // actual number of arguments
323 Representation::Integer32(), // expected number of arguments 323 Representation::Integer32(), // expected number of arguments
324 }; 324 };
325 descriptor->register_param_count_ = 4; 325 descriptor->Initialize(ARRAY_SIZE(registers), registers,
326 descriptor->register_params_ = registers; 326 representations, &default_descriptor);
327 descriptor->param_representations_ = representations;
328 descriptor->platform_specific_descriptor_ = &default_descriptor;
329 } 327 }
330 { 328 {
331 CallInterfaceDescriptor* descriptor = 329 CallInterfaceDescriptor* descriptor =
332 isolate->call_descriptor(Isolate::KeyedCall); 330 isolate->call_descriptor(Isolate::KeyedCall);
333 static Register registers[] = { cp, // context 331 Register registers[] = { cp, // context
334 r2, // key 332 r2, // key
335 }; 333 };
336 static Representation representations[] = { 334 Representation representations[] = {
337 Representation::Tagged(), // context 335 Representation::Tagged(), // context
338 Representation::Tagged(), // key 336 Representation::Tagged(), // key
339 }; 337 };
340 descriptor->register_param_count_ = 2; 338 descriptor->Initialize(ARRAY_SIZE(registers), registers,
341 descriptor->register_params_ = registers; 339 representations, &noInlineDescriptor);
342 descriptor->param_representations_ = representations;
343 descriptor->platform_specific_descriptor_ = &noInlineDescriptor;
344 } 340 }
345 { 341 {
346 CallInterfaceDescriptor* descriptor = 342 CallInterfaceDescriptor* descriptor =
347 isolate->call_descriptor(Isolate::NamedCall); 343 isolate->call_descriptor(Isolate::NamedCall);
348 static Register registers[] = { cp, // context 344 Register registers[] = { cp, // context
349 r2, // name 345 r2, // name
350 }; 346 };
351 static Representation representations[] = { 347 Representation representations[] = {
352 Representation::Tagged(), // context 348 Representation::Tagged(), // context
353 Representation::Tagged(), // name 349 Representation::Tagged(), // name
354 }; 350 };
355 descriptor->register_param_count_ = 2; 351 descriptor->Initialize(ARRAY_SIZE(registers), registers,
356 descriptor->register_params_ = registers; 352 representations, &noInlineDescriptor);
357 descriptor->param_representations_ = representations;
358 descriptor->platform_specific_descriptor_ = &noInlineDescriptor;
359 } 353 }
360 { 354 {
361 CallInterfaceDescriptor* descriptor = 355 CallInterfaceDescriptor* descriptor =
362 isolate->call_descriptor(Isolate::CallHandler); 356 isolate->call_descriptor(Isolate::CallHandler);
363 static Register registers[] = { cp, // context 357 Register registers[] = { cp, // context
364 r0, // receiver 358 r0, // receiver
365 }; 359 };
366 static Representation representations[] = { 360 Representation representations[] = {
367 Representation::Tagged(), // context 361 Representation::Tagged(), // context
368 Representation::Tagged(), // receiver 362 Representation::Tagged(), // receiver
369 }; 363 };
370 descriptor->register_param_count_ = 2; 364 descriptor->Initialize(ARRAY_SIZE(registers), registers,
371 descriptor->register_params_ = registers; 365 representations, &default_descriptor);
372 descriptor->param_representations_ = representations;
373 descriptor->platform_specific_descriptor_ = &default_descriptor;
374 } 366 }
375 { 367 {
376 CallInterfaceDescriptor* descriptor = 368 CallInterfaceDescriptor* descriptor =
377 isolate->call_descriptor(Isolate::ApiFunctionCall); 369 isolate->call_descriptor(Isolate::ApiFunctionCall);
378 static Register registers[] = { r0, // callee 370 Register registers[] = { r0, // callee
379 r4, // call_data 371 r4, // call_data
380 r2, // holder 372 r2, // holder
381 r1, // api_function_address 373 r1, // api_function_address
382 cp, // context 374 cp, // context
383 }; 375 };
384 static Representation representations[] = { 376 Representation representations[] = {
385 Representation::Tagged(), // callee 377 Representation::Tagged(), // callee
386 Representation::Tagged(), // call_data 378 Representation::Tagged(), // call_data
387 Representation::Tagged(), // holder 379 Representation::Tagged(), // holder
388 Representation::External(), // api_function_address 380 Representation::External(), // api_function_address
389 Representation::Tagged(), // context 381 Representation::Tagged(), // context
390 }; 382 };
391 descriptor->register_param_count_ = 5; 383 descriptor->Initialize(ARRAY_SIZE(registers), registers,
392 descriptor->register_params_ = registers; 384 representations, &default_descriptor);
393 descriptor->param_representations_ = representations;
394 descriptor->platform_specific_descriptor_ = &default_descriptor;
395 } 385 }
396 } 386 }
397 387
398 388
399 #define __ ACCESS_MASM(masm) 389 #define __ ACCESS_MASM(masm)
400 390
401 391
402 static void EmitIdenticalObjectComparison(MacroAssembler* masm, 392 static void EmitIdenticalObjectComparison(MacroAssembler* masm,
403 Label* slow, 393 Label* slow,
404 Condition cond); 394 Condition cond);
(...skipping 4715 matching lines...) Expand 10 before | Expand all | Expand 10 after
5120 MemOperand(fp, 6 * kPointerSize), 5110 MemOperand(fp, 6 * kPointerSize),
5121 NULL); 5111 NULL);
5122 } 5112 }
5123 5113
5124 5114
5125 #undef __ 5115 #undef __
5126 5116
5127 } } // namespace v8::internal 5117 } } // namespace v8::internal
5128 5118
5129 #endif // V8_TARGET_ARCH_ARM 5119 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/arm/code-stubs-arm.h ('k') | src/arm64/code-stubs-arm64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698