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

Side by Side Diff: src/interface-descriptors.cc

Issue 1238143002: [stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix ARM typo. Created 5 years, 5 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
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 #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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 function->InitParameter(2, AnyTagged()); // Value 110 function->InitParameter(2, AnyTagged()); // Value
111 function->InitParameter(3, AnyTagged()); // Map 111 function->InitParameter(3, AnyTagged()); // Map
112 return function; 112 return function;
113 } 113 }
114 114
115 115
116 Type::FunctionType* 116 Type::FunctionType*
117 LoadGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType( 117 LoadGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType(
118 Isolate* isolate, int paramater_count) { 118 Isolate* isolate, int paramater_count) {
119 Type::FunctionType* function = Type::FunctionType::New( 119 Type::FunctionType* function = Type::FunctionType::New(
120 AnyTagged(), Type::Undefined(), 3, isolate->interface_descriptor_zone()); 120 AnyTagged(), Type::Undefined(), 2, isolate->interface_descriptor_zone());
121 function->InitParameter(0, SmiType()); 121 function->InitParameter(0, UntaggedSigned32());
122 function->InitParameter(1, SmiType()); 122 function->InitParameter(1, AnyTagged());
123 function->InitParameter(2, AnyTagged());
124 return function; 123 return function;
125 } 124 }
126 125
127 126
128 void LoadGlobalViaContextDescriptor::InitializePlatformSpecific( 127 void LoadGlobalViaContextDescriptor::InitializePlatformSpecific(
129 CallInterfaceDescriptorData* data) { 128 CallInterfaceDescriptorData* data) {
130 Register registers[] = {DepthRegister(), SlotRegister(), NameRegister()}; 129 Register registers[] = {SlotRegister(), NameRegister()};
131 data->InitializePlatformSpecific(arraysize(registers), registers); 130 data->InitializePlatformSpecific(arraysize(registers), registers);
132 } 131 }
133 132
134 133
135 Type::FunctionType* 134 Type::FunctionType*
136 StoreGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType( 135 StoreGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType(
137 Isolate* isolate, int paramater_count) { 136 Isolate* isolate, int paramater_count) {
138 Type::FunctionType* function = Type::FunctionType::New( 137 Type::FunctionType* function = Type::FunctionType::New(
139 AnyTagged(), Type::Undefined(), 4, isolate->interface_descriptor_zone()); 138 AnyTagged(), Type::Undefined(), 3, isolate->interface_descriptor_zone());
140 function->InitParameter(0, SmiType()); 139 function->InitParameter(0, UntaggedSigned32());
141 function->InitParameter(1, SmiType()); 140 function->InitParameter(1, AnyTagged());
142 function->InitParameter(2, AnyTagged()); 141 function->InitParameter(2, AnyTagged());
143 function->InitParameter(3, AnyTagged());
144 return function; 142 return function;
145 } 143 }
146 144
147 145
148 void StoreGlobalViaContextDescriptor::InitializePlatformSpecific( 146 void StoreGlobalViaContextDescriptor::InitializePlatformSpecific(
149 CallInterfaceDescriptorData* data) { 147 CallInterfaceDescriptorData* data) {
150 Register registers[] = {DepthRegister(), SlotRegister(), NameRegister(), 148 Register registers[] = {SlotRegister(), NameRegister(), ValueRegister()};
151 ValueRegister()};
152 data->InitializePlatformSpecific(arraysize(registers), registers); 149 data->InitializePlatformSpecific(arraysize(registers), registers);
153 } 150 }
154 151
155 152
156 void InstanceofDescriptor::InitializePlatformSpecific( 153 void InstanceofDescriptor::InitializePlatformSpecific(
157 CallInterfaceDescriptorData* data) { 154 CallInterfaceDescriptorData* data) {
158 Register registers[] = {left(), right()}; 155 Register registers[] = {left(), right()};
159 data->InitializePlatformSpecific(arraysize(registers), registers); 156 data->InitializePlatformSpecific(arraysize(registers), registers);
160 } 157 }
161 158
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 AnyTagged(), Type::Undefined(), 5, isolate->interface_descriptor_zone()); 413 AnyTagged(), Type::Undefined(), 5, isolate->interface_descriptor_zone());
417 function->InitParameter(0, Type::Receiver()); 414 function->InitParameter(0, Type::Receiver());
418 function->InitParameter(1, SmiType()); 415 function->InitParameter(1, SmiType());
419 function->InitParameter(2, AnyTagged()); 416 function->InitParameter(2, AnyTagged());
420 function->InitParameter(3, AnyTagged()); 417 function->InitParameter(3, AnyTagged());
421 function->InitParameter(4, AnyTagged()); 418 function->InitParameter(4, AnyTagged());
422 return function; 419 return function;
423 } 420 }
424 } // namespace internal 421 } // namespace internal
425 } // namespace v8 422 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698