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/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/interface-descriptors.h" | 7 #include "src/interface-descriptors.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 } | 93 } |
94 | 94 |
95 | 95 |
96 void StoreDescriptor::InitializePlatformSpecific( | 96 void StoreDescriptor::InitializePlatformSpecific( |
97 CallInterfaceDescriptorData* data) { | 97 CallInterfaceDescriptorData* data) { |
98 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister()}; | 98 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister()}; |
99 data->InitializePlatformSpecific(arraysize(registers), registers); | 99 data->InitializePlatformSpecific(arraysize(registers), registers); |
100 } | 100 } |
101 | 101 |
102 | 102 |
103 void StoreTransitionDescriptor::InitializePlatformSpecific( | 103 Type::FunctionType* |
104 CallInterfaceDescriptorData* data) { | 104 StoreTransitionDescriptor::BuildCallInterfaceDescriptorFunctionType( |
105 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), | 105 Isolate* isolate, int paramater_count) { |
106 MapRegister()}; | 106 Type::FunctionType* function = Type::FunctionType::New( |
107 data->InitializePlatformSpecific(arraysize(registers), registers); | 107 AnyTagged(), Type::Undefined(), 4, isolate->interface_descriptor_zone()); |
| 108 function->InitParameter(0, AnyTagged()); // Receiver |
| 109 function->InitParameter(1, AnyTagged()); // Name |
| 110 function->InitParameter(2, AnyTagged()); // Value |
| 111 function->InitParameter(3, AnyTagged()); // Map |
| 112 return function; |
108 } | 113 } |
109 | 114 |
110 | 115 |
111 Type::FunctionType* | 116 Type::FunctionType* |
112 LoadGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType( | 117 LoadGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType( |
113 Isolate* isolate, int paramater_count) { | 118 Isolate* isolate, int paramater_count) { |
114 Type::FunctionType* function = Type::FunctionType::New( | 119 Type::FunctionType* function = Type::FunctionType::New( |
115 AnyTagged(), Type::Undefined(), 3, isolate->interface_descriptor_zone()); | 120 AnyTagged(), Type::Undefined(), 3, isolate->interface_descriptor_zone()); |
116 function->InitParameter(0, SmiType()); | 121 function->InitParameter(0, SmiType()); |
117 function->InitParameter(1, SmiType()); | 122 function->InitParameter(1, SmiType()); |
118 function->InitParameter(2, AnyTagged()); | 123 function->InitParameter(2, AnyTagged()); |
119 return function; | 124 return function; |
120 } | 125 } |
121 | 126 |
122 | 127 |
123 void LoadGlobalViaContextDescriptor::InitializePlatformSpecific( | 128 void LoadGlobalViaContextDescriptor::InitializePlatformSpecific( |
124 CallInterfaceDescriptorData* data) { | 129 CallInterfaceDescriptorData* data) { |
125 Register registers[] = {DepthRegister(), SlotRegister(), NameRegister()}; | 130 Register registers[] = {DepthRegister(), SlotRegister(), NameRegister()}; |
126 data->InitializePlatformSpecific(arraysize(registers), registers); | 131 data->InitializePlatformSpecific(arraysize(registers), registers); |
127 } | 132 } |
128 | 133 |
129 | 134 |
130 Type::FunctionType* | 135 Type::FunctionType* |
131 StoreGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType( | 136 StoreGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType( |
132 Isolate* isolate, int paramater_count) { | 137 Isolate* isolate, int paramater_count) { |
133 Type::FunctionType* function = Type::FunctionType::New( | 138 Type::FunctionType* function = Type::FunctionType::New( |
134 AnyTagged(), Type::Undefined(), 5, isolate->interface_descriptor_zone()); | 139 AnyTagged(), Type::Undefined(), 4, isolate->interface_descriptor_zone()); |
135 function->InitParameter(0, SmiType()); | 140 function->InitParameter(0, SmiType()); |
136 function->InitParameter(1, SmiType()); | 141 function->InitParameter(1, SmiType()); |
137 function->InitParameter(2, AnyTagged()); | 142 function->InitParameter(2, AnyTagged()); |
138 function->InitParameter(3, AnyTagged()); | 143 function->InitParameter(3, AnyTagged()); |
139 return function; | 144 return function; |
140 } | 145 } |
141 | 146 |
142 | 147 |
143 void StoreGlobalViaContextDescriptor::InitializePlatformSpecific( | 148 void StoreGlobalViaContextDescriptor::InitializePlatformSpecific( |
144 CallInterfaceDescriptorData* data) { | 149 CallInterfaceDescriptorData* data) { |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 AnyTagged(), Type::Undefined(), 5, isolate->interface_descriptor_zone()); | 416 AnyTagged(), Type::Undefined(), 5, isolate->interface_descriptor_zone()); |
412 function->InitParameter(0, Type::Receiver()); | 417 function->InitParameter(0, Type::Receiver()); |
413 function->InitParameter(1, SmiType()); | 418 function->InitParameter(1, SmiType()); |
414 function->InitParameter(2, AnyTagged()); | 419 function->InitParameter(2, AnyTagged()); |
415 function->InitParameter(3, AnyTagged()); | 420 function->InitParameter(3, AnyTagged()); |
416 function->InitParameter(4, AnyTagged()); | 421 function->InitParameter(4, AnyTagged()); |
417 return function; | 422 return function; |
418 } | 423 } |
419 } // namespace internal | 424 } // namespace internal |
420 } // namespace v8 | 425 } // namespace v8 |
OLD | NEW |