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

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

Issue 1224793002: Loads and stores to global vars are now made via property cell shortcuts installed into parent scri… (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Addressing comments 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
« no previous file with comments | « src/interface-descriptors.h ('k') | src/mips/full-codegen-mips.cc » ('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 #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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 101
102 102
103 void StoreTransitionDescriptor::InitializePlatformSpecific( 103 void StoreTransitionDescriptor::InitializePlatformSpecific(
104 CallInterfaceDescriptorData* data) { 104 CallInterfaceDescriptorData* data) {
105 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(), 105 Register registers[] = {ReceiverRegister(), NameRegister(), ValueRegister(),
106 MapRegister()}; 106 MapRegister()};
107 data->InitializePlatformSpecific(arraysize(registers), registers); 107 data->InitializePlatformSpecific(arraysize(registers), registers);
108 } 108 }
109 109
110 110
111 Type::FunctionType*
112 LoadGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType(
113 Isolate* isolate, int paramater_count) {
114 Type::FunctionType* function = Type::FunctionType::New(
115 AnyTagged(), Type::Undefined(), 3, isolate->interface_descriptor_zone());
116 function->InitParameter(0, SmiType());
117 function->InitParameter(1, SmiType());
118 function->InitParameter(2, AnyTagged());
119 return function;
120 }
121
122
123 void LoadGlobalViaContextDescriptor::InitializePlatformSpecific(
124 CallInterfaceDescriptorData* data) {
125 Register registers[] = {DepthRegister(), SlotRegister(), NameRegister()};
126 data->InitializePlatformSpecific(arraysize(registers), registers);
127 }
128
129
130 Type::FunctionType*
131 StoreGlobalViaContextDescriptor::BuildCallInterfaceDescriptorFunctionType(
132 Isolate* isolate, int paramater_count) {
133 Type::FunctionType* function = Type::FunctionType::New(
134 AnyTagged(), Type::Undefined(), 5, isolate->interface_descriptor_zone());
135 function->InitParameter(0, SmiType());
136 function->InitParameter(1, SmiType());
137 function->InitParameter(2, AnyTagged());
138 function->InitParameter(3, AnyTagged());
139 return function;
140 }
141
142
143 void StoreGlobalViaContextDescriptor::InitializePlatformSpecific(
144 CallInterfaceDescriptorData* data) {
145 Register registers[] = {DepthRegister(), SlotRegister(), NameRegister(),
146 ValueRegister()};
147 data->InitializePlatformSpecific(arraysize(registers), registers);
148 }
149
150
111 void ElementTransitionAndStoreDescriptor::InitializePlatformSpecific( 151 void ElementTransitionAndStoreDescriptor::InitializePlatformSpecific(
112 CallInterfaceDescriptorData* data) { 152 CallInterfaceDescriptorData* data) {
113 Register registers[] = {ValueRegister(), MapRegister(), NameRegister(), 153 Register registers[] = {ValueRegister(), MapRegister(), NameRegister(),
114 ReceiverRegister()}; 154 ReceiverRegister()};
115 data->InitializePlatformSpecific(arraysize(registers), registers); 155 data->InitializePlatformSpecific(arraysize(registers), registers);
116 } 156 }
117 157
118 158
119 void InstanceofDescriptor::InitializePlatformSpecific( 159 void InstanceofDescriptor::InitializePlatformSpecific(
120 CallInterfaceDescriptorData* data) { 160 CallInterfaceDescriptorData* data) {
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 Type::FunctionType* function = Type::FunctionType::New( 405 Type::FunctionType* function = Type::FunctionType::New(
366 AnyTagged(), Type::Undefined(), 2, isolate->interface_descriptor_zone()); 406 AnyTagged(), Type::Undefined(), 2, isolate->interface_descriptor_zone());
367 function->InitParameter(0, SmiType()); 407 function->InitParameter(0, SmiType());
368 function->InitParameter(1, AnyTagged()); 408 function->InitParameter(1, AnyTagged());
369 return function; 409 return function;
370 } 410 }
371 411
372 412
373 } // namespace internal 413 } // namespace internal
374 } // namespace v8 414 } // namespace v8
OLDNEW
« no previous file with comments | « src/interface-descriptors.h ('k') | src/mips/full-codegen-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698