| 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/code-stubs.h" | 5 #include "src/code-stubs.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
| (...skipping 3910 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3921 assembler->Return(assembler->SmiConstant(Smi::FromInt(0))); | 3921 assembler->Return(assembler->SmiConstant(Smi::FromInt(0))); |
| 3922 } | 3922 } |
| 3923 } | 3923 } |
| 3924 | 3924 |
| 3925 void StoreInterceptorStub::GenerateAssembly( | 3925 void StoreInterceptorStub::GenerateAssembly( |
| 3926 CodeStubAssembler* assembler) const { | 3926 CodeStubAssembler* assembler) const { |
| 3927 typedef compiler::Node Node; | 3927 typedef compiler::Node Node; |
| 3928 Node* receiver = assembler->Parameter(0); | 3928 Node* receiver = assembler->Parameter(0); |
| 3929 Node* name = assembler->Parameter(1); | 3929 Node* name = assembler->Parameter(1); |
| 3930 Node* value = assembler->Parameter(2); | 3930 Node* value = assembler->Parameter(2); |
| 3931 Node* context = assembler->Parameter(3); | 3931 // Node* slot = assembler->Parameter(3); |
| 3932 // Node* vector = assembler->Parameter(4); |
| 3933 Node* context = assembler->Parameter(5); |
| 3932 assembler->TailCallRuntime(Runtime::kStorePropertyWithInterceptor, context, | 3934 assembler->TailCallRuntime(Runtime::kStorePropertyWithInterceptor, context, |
| 3933 receiver, name, value); | 3935 receiver, name, value); |
| 3934 } | 3936 } |
| 3935 | 3937 |
| 3936 void LoadIndexedInterceptorStub::GenerateAssembly( | 3938 void LoadIndexedInterceptorStub::GenerateAssembly( |
| 3937 CodeStubAssembler* assembler) const { | 3939 CodeStubAssembler* assembler) const { |
| 3938 typedef compiler::Node Node; | 3940 typedef compiler::Node Node; |
| 3939 typedef CodeStubAssembler::Label Label; | 3941 typedef CodeStubAssembler::Label Label; |
| 3940 Node* receiver = assembler->Parameter(0); | 3942 Node* receiver = assembler->Parameter(0); |
| 3941 Node* key = assembler->Parameter(1); | 3943 Node* key = assembler->Parameter(1); |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4153 FUNCTION_ADDR(Runtime_KeyedStoreIC_MissFromStubFailure)); | 4155 FUNCTION_ADDR(Runtime_KeyedStoreIC_MissFromStubFailure)); |
| 4154 } | 4156 } |
| 4155 } | 4157 } |
| 4156 | 4158 |
| 4157 | 4159 |
| 4158 CallInterfaceDescriptor HandlerStub::GetCallInterfaceDescriptor() const { | 4160 CallInterfaceDescriptor HandlerStub::GetCallInterfaceDescriptor() const { |
| 4159 if (kind() == Code::LOAD_IC || kind() == Code::KEYED_LOAD_IC) { | 4161 if (kind() == Code::LOAD_IC || kind() == Code::KEYED_LOAD_IC) { |
| 4160 return LoadWithVectorDescriptor(isolate()); | 4162 return LoadWithVectorDescriptor(isolate()); |
| 4161 } else { | 4163 } else { |
| 4162 DCHECK(kind() == Code::STORE_IC || kind() == Code::KEYED_STORE_IC); | 4164 DCHECK(kind() == Code::STORE_IC || kind() == Code::KEYED_STORE_IC); |
| 4163 return VectorStoreICDescriptor(isolate()); | 4165 return StoreWithVectorDescriptor(isolate()); |
| 4164 } | 4166 } |
| 4165 } | 4167 } |
| 4166 | 4168 |
| 4167 | 4169 |
| 4168 void StoreFastElementStub::InitializeDescriptor( | 4170 void StoreFastElementStub::InitializeDescriptor( |
| 4169 CodeStubDescriptor* descriptor) { | 4171 CodeStubDescriptor* descriptor) { |
| 4170 descriptor->Initialize( | 4172 descriptor->Initialize( |
| 4171 FUNCTION_ADDR(Runtime_KeyedStoreIC_MissFromStubFailure)); | 4173 FUNCTION_ADDR(Runtime_KeyedStoreIC_MissFromStubFailure)); |
| 4172 } | 4174 } |
| 4173 | 4175 |
| (...skipping 756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4930 if (type->Is(Type::UntaggedPointer())) { | 4932 if (type->Is(Type::UntaggedPointer())) { |
| 4931 return Representation::External(); | 4933 return Representation::External(); |
| 4932 } | 4934 } |
| 4933 | 4935 |
| 4934 DCHECK(!type->Is(Type::Untagged())); | 4936 DCHECK(!type->Is(Type::Untagged())); |
| 4935 return Representation::Tagged(); | 4937 return Representation::Tagged(); |
| 4936 } | 4938 } |
| 4937 | 4939 |
| 4938 } // namespace internal | 4940 } // namespace internal |
| 4939 } // namespace v8 | 4941 } // namespace v8 |
| OLD | NEW |