| OLD | NEW |
| 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/interface-descriptors.h" | 5 #include "src/interface-descriptors.h" |
| 6 | 6 |
| 7 namespace v8 { | 7 namespace v8 { |
| 8 namespace internal { | 8 namespace internal { |
| 9 | 9 |
| 10 namespace { | 10 namespace { |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 return function; | 90 return function; |
| 91 } | 91 } |
| 92 | 92 |
| 93 | 93 |
| 94 void LoadDescriptor::InitializePlatformSpecific( | 94 void LoadDescriptor::InitializePlatformSpecific( |
| 95 CallInterfaceDescriptorData* data) { | 95 CallInterfaceDescriptorData* data) { |
| 96 Register registers[] = {ReceiverRegister(), NameRegister(), SlotRegister()}; | 96 Register registers[] = {ReceiverRegister(), NameRegister(), SlotRegister()}; |
| 97 data->InitializePlatformSpecific(arraysize(registers), registers); | 97 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 98 } | 98 } |
| 99 | 99 |
| 100 FunctionType* LoadGlobalDescriptor::BuildCallInterfaceDescriptorFunctionType( |
| 101 Isolate* isolate, int paramater_count) { |
| 102 Zone* zone = isolate->interface_descriptor_zone(); |
| 103 FunctionType* function = |
| 104 Type::Function(AnyTagged(zone), Type::Undefined(), 3, zone)->AsFunction(); |
| 105 function->InitParameter(0, AnyTagged(zone)); |
| 106 function->InitParameter(1, SmiType(zone)); |
| 107 function->InitParameter(2, AnyTagged(zone)); |
| 108 return function; |
| 109 } |
| 110 |
| 111 void LoadGlobalDescriptor::InitializePlatformSpecific( |
| 112 CallInterfaceDescriptorData* data) { |
| 113 Register registers[] = {LoadWithVectorDescriptor::NameRegister(), |
| 114 LoadWithVectorDescriptor::SlotRegister(), |
| 115 LoadWithVectorDescriptor::VectorRegister()}; |
| 116 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 117 } |
| 100 | 118 |
| 101 void StoreDescriptor::InitializePlatformSpecific( | 119 void StoreDescriptor::InitializePlatformSpecific( |
| 102 CallInterfaceDescriptorData* data) { | 120 CallInterfaceDescriptorData* data) { |
| 103 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister()}; | 121 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister()}; |
| 104 data->InitializePlatformSpecific(arraysize(registers), registers); | 122 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 105 } | 123 } |
| 106 | 124 |
| 107 | 125 |
| 108 void StoreTransitionDescriptor::InitializePlatformSpecific( | 126 void StoreTransitionDescriptor::InitializePlatformSpecific( |
| 109 CallInterfaceDescriptorData* data) { | 127 CallInterfaceDescriptorData* data) { |
| (...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 527 Type::Function(AnyTagged(zone), Type::Undefined(), 4, zone)->AsFunction(); | 545 Type::Function(AnyTagged(zone), Type::Undefined(), 4, zone)->AsFunction(); |
| 528 function->InitParameter(kAccumulatorParameter, AnyTagged(zone)); | 546 function->InitParameter(kAccumulatorParameter, AnyTagged(zone)); |
| 529 function->InitParameter(kBytecodeOffsetParameter, UntaggedIntegral32(zone)); | 547 function->InitParameter(kBytecodeOffsetParameter, UntaggedIntegral32(zone)); |
| 530 function->InitParameter(kBytecodeArrayParameter, AnyTagged(zone)); | 548 function->InitParameter(kBytecodeArrayParameter, AnyTagged(zone)); |
| 531 function->InitParameter(kDispatchTableParameter, AnyTagged(zone)); | 549 function->InitParameter(kDispatchTableParameter, AnyTagged(zone)); |
| 532 return function; | 550 return function; |
| 533 } | 551 } |
| 534 | 552 |
| 535 } // namespace internal | 553 } // namespace internal |
| 536 } // namespace v8 | 554 } // namespace v8 |
| OLD | NEW |