| 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 3914 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3925 assembler->Return(assembler->SmiConstant(Smi::FromInt(0))); | 3925 assembler->Return(assembler->SmiConstant(Smi::FromInt(0))); |
| 3926 } | 3926 } |
| 3927 } | 3927 } |
| 3928 | 3928 |
| 3929 void StoreInterceptorStub::GenerateAssembly( | 3929 void StoreInterceptorStub::GenerateAssembly( |
| 3930 CodeStubAssembler* assembler) const { | 3930 CodeStubAssembler* assembler) const { |
| 3931 typedef compiler::Node Node; | 3931 typedef compiler::Node Node; |
| 3932 Node* receiver = assembler->Parameter(0); | 3932 Node* receiver = assembler->Parameter(0); |
| 3933 Node* name = assembler->Parameter(1); | 3933 Node* name = assembler->Parameter(1); |
| 3934 Node* value = assembler->Parameter(2); | 3934 Node* value = assembler->Parameter(2); |
| 3935 Node* context = assembler->Parameter(3); | 3935 // Node* slot = assembler->Parameter(3); |
| 3936 // Node* vector = assembler->Parameter(4); |
| 3937 Node* context = assembler->Parameter(5); |
| 3936 assembler->TailCallRuntime(Runtime::kStorePropertyWithInterceptor, context, | 3938 assembler->TailCallRuntime(Runtime::kStorePropertyWithInterceptor, context, |
| 3937 receiver, name, value); | 3939 receiver, name, value); |
| 3938 } | 3940 } |
| 3939 | 3941 |
| 3940 void LoadIndexedInterceptorStub::GenerateAssembly( | 3942 void LoadIndexedInterceptorStub::GenerateAssembly( |
| 3941 CodeStubAssembler* assembler) const { | 3943 CodeStubAssembler* assembler) const { |
| 3942 typedef compiler::Node Node; | 3944 typedef compiler::Node Node; |
| 3943 typedef CodeStubAssembler::Label Label; | 3945 typedef CodeStubAssembler::Label Label; |
| 3944 Node* receiver = assembler->Parameter(0); | 3946 Node* receiver = assembler->Parameter(0); |
| 3945 Node* key = assembler->Parameter(1); | 3947 Node* key = assembler->Parameter(1); |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4157 FUNCTION_ADDR(Runtime_KeyedStoreIC_MissFromStubFailure)); | 4159 FUNCTION_ADDR(Runtime_KeyedStoreIC_MissFromStubFailure)); |
| 4158 } | 4160 } |
| 4159 } | 4161 } |
| 4160 | 4162 |
| 4161 | 4163 |
| 4162 CallInterfaceDescriptor HandlerStub::GetCallInterfaceDescriptor() const { | 4164 CallInterfaceDescriptor HandlerStub::GetCallInterfaceDescriptor() const { |
| 4163 if (kind() == Code::LOAD_IC || kind() == Code::KEYED_LOAD_IC) { | 4165 if (kind() == Code::LOAD_IC || kind() == Code::KEYED_LOAD_IC) { |
| 4164 return LoadWithVectorDescriptor(isolate()); | 4166 return LoadWithVectorDescriptor(isolate()); |
| 4165 } else { | 4167 } else { |
| 4166 DCHECK(kind() == Code::STORE_IC || kind() == Code::KEYED_STORE_IC); | 4168 DCHECK(kind() == Code::STORE_IC || kind() == Code::KEYED_STORE_IC); |
| 4167 return VectorStoreICDescriptor(isolate()); | 4169 return StoreWithVectorDescriptor(isolate()); |
| 4168 } | 4170 } |
| 4169 } | 4171 } |
| 4170 | 4172 |
| 4171 | 4173 |
| 4172 void StoreFastElementStub::InitializeDescriptor( | 4174 void StoreFastElementStub::InitializeDescriptor( |
| 4173 CodeStubDescriptor* descriptor) { | 4175 CodeStubDescriptor* descriptor) { |
| 4174 descriptor->Initialize( | 4176 descriptor->Initialize( |
| 4175 FUNCTION_ADDR(Runtime_KeyedStoreIC_MissFromStubFailure)); | 4177 FUNCTION_ADDR(Runtime_KeyedStoreIC_MissFromStubFailure)); |
| 4176 } | 4178 } |
| 4177 | 4179 |
| (...skipping 756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4934 if (type->Is(Type::UntaggedPointer())) { | 4936 if (type->Is(Type::UntaggedPointer())) { |
| 4935 return Representation::External(); | 4937 return Representation::External(); |
| 4936 } | 4938 } |
| 4937 | 4939 |
| 4938 DCHECK(!type->Is(Type::Untagged())); | 4940 DCHECK(!type->Is(Type::Untagged())); |
| 4939 return Representation::Tagged(); | 4941 return Representation::Tagged(); |
| 4940 } | 4942 } |
| 4941 | 4943 |
| 4942 } // namespace internal | 4944 } // namespace internal |
| 4943 } // namespace v8 | 4945 } // namespace v8 |
| OLD | NEW |