| 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 24 matching lines...) Expand all  Loading... | 
|  35       // If there is a context register, the representation must be tagged. |  35       // If there is a context register, the representation must be tagged. | 
|  36       DCHECK( |  36       DCHECK( | 
|  37           i != 0 || |  37           i != 0 || | 
|  38           register_param_representations[i].Equals(Representation::Tagged())); |  38           register_param_representations[i].Equals(Representation::Tagged())); | 
|  39       register_param_representations_[i] = register_param_representations[i]; |  39       register_param_representations_[i] = register_param_representations[i]; | 
|  40     } |  40     } | 
|  41   } |  41   } | 
|  42 } |  42 } | 
|  43  |  43  | 
|  44  |  44  | 
|  45 void LoadDescriptor::Initialize(Isolate* isolate) { |  45 void LoadDescriptor::Initialize(CallInterfaceDescriptorData* data) { | 
|  46   Register registers[] = {ContextRegister(), ReceiverRegister(), |  46   Register registers[] = {ContextRegister(), ReceiverRegister(), | 
|  47                           NameRegister()}; |  47                           NameRegister()}; | 
|  48   InitializeData(isolate, key(), arraysize(registers), registers, NULL); |  48   data->Initialize(arraysize(registers), registers, NULL); | 
|  49 } |  49 } | 
|  50  |  50  | 
|  51  |  51  | 
|  52 void StoreDescriptor::Initialize(Isolate* isolate) { |  52 void StoreDescriptor::Initialize(CallInterfaceDescriptorData* data) { | 
|  53   Register registers[] = {ContextRegister(), ReceiverRegister(), NameRegister(), |  53   Register registers[] = {ContextRegister(), ReceiverRegister(), NameRegister(), | 
|  54                           ValueRegister()}; |  54                           ValueRegister()}; | 
|  55   InitializeData(isolate, key(), arraysize(registers), registers, NULL); |  55   data->Initialize(arraysize(registers), registers, NULL); | 
|  56 } |  56 } | 
|  57  |  57  | 
|  58  |  58  | 
|  59 void ElementTransitionAndStoreDescriptor::Initialize(Isolate* isolate) { |  59 void ElementTransitionAndStoreDescriptor::Initialize( | 
 |  60     CallInterfaceDescriptorData* data) { | 
|  60   Register registers[] = {ContextRegister(), ValueRegister(), MapRegister(), |  61   Register registers[] = {ContextRegister(), ValueRegister(), MapRegister(), | 
|  61                           NameRegister(), ReceiverRegister()}; |  62                           NameRegister(), ReceiverRegister()}; | 
|  62   InitializeData(isolate, key(), arraysize(registers), registers, NULL); |  63   data->Initialize(arraysize(registers), registers, NULL); | 
|  63 } |  64 } | 
|  64  |  65  | 
|  65  |  66  | 
|  66 void InstanceofDescriptor::Initialize(Isolate* isolate) { |  67 void InstanceofDescriptor::Initialize(CallInterfaceDescriptorData* data) { | 
|  67   Register registers[] = {ContextRegister(), left(), right()}; |  68   Register registers[] = {ContextRegister(), left(), right()}; | 
|  68   InitializeData(isolate, key(), arraysize(registers), registers, NULL); |  69   data->Initialize(arraysize(registers), registers, NULL); | 
|  69 } |  70 } | 
|  70  |  71  | 
|  71  |  72  | 
|  72 void VectorLoadICDescriptor::Initialize(Isolate* isolate) { |  73 void VectorLoadICDescriptor::Initialize(CallInterfaceDescriptorData* data) { | 
|  73   Register registers[] = {ContextRegister(), ReceiverRegister(), NameRegister(), |  74   Register registers[] = {ContextRegister(), ReceiverRegister(), NameRegister(), | 
|  74                           SlotRegister(), VectorRegister()}; |  75                           SlotRegister(), VectorRegister()}; | 
|  75   InitializeData(isolate, key(), arraysize(registers), registers, NULL); |  76   data->Initialize(arraysize(registers), registers, NULL); | 
|  76 } |  77 } | 
|  77  |  78  | 
|  78  |  | 
|  79 void CallDescriptors::InitializeForIsolate(Isolate* isolate) { |  | 
|  80 // Mechanically initialize all descriptors. The DCHECK makes sure that the |  | 
|  81 // Initialize() method did what it is supposed to do. |  | 
|  82  |  | 
|  83 #define INITIALIZE_DESCRIPTOR(D)      \ |  | 
|  84   D##Descriptor::Initialize(isolate); \ |  | 
|  85   DCHECK(D##Descriptor(isolate).IsInitialized()); |  | 
|  86  |  | 
|  87   INTERFACE_DESCRIPTOR_LIST(INITIALIZE_DESCRIPTOR) |  | 
|  88 #undef INITIALIZE_DESCRIPTOR |  | 
|  89 } |  | 
|  90 } |  79 } | 
|  91 }  // namespace v8::internal |  80 }  // namespace v8::internal | 
| OLD | NEW |