| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #include "src/compiler/common-operator.h" | 6 #include "src/compiler/common-operator.h" |
| 7 #include "src/compiler/graph-inl.h" | 7 #include "src/compiler/graph-inl.h" |
| 8 #include "src/compiler/js-generic-lowering.h" | 8 #include "src/compiler/js-generic-lowering.h" |
| 9 #include "src/compiler/machine-operator.h" | 9 #include "src/compiler/machine-operator.h" |
| 10 #include "src/compiler/node-aux-data-inl.h" | 10 #include "src/compiler/node-aux-data-inl.h" |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 // which doesn't have an interface descriptor yet. It mimics a hydrogen code | 33 // which doesn't have an interface descriptor yet. It mimics a hydrogen code |
| 34 // stub for the underlying IC stub code. | 34 // stub for the underlying IC stub code. |
| 35 class LoadICStubShim : public HydrogenCodeStub { | 35 class LoadICStubShim : public HydrogenCodeStub { |
| 36 public: | 36 public: |
| 37 LoadICStubShim(Isolate* isolate, ContextualMode contextual_mode) | 37 LoadICStubShim(Isolate* isolate, ContextualMode contextual_mode) |
| 38 : HydrogenCodeStub(isolate), contextual_mode_(contextual_mode) { | 38 : HydrogenCodeStub(isolate), contextual_mode_(contextual_mode) { |
| 39 i::compiler::GetInterfaceDescriptor(isolate, this); | 39 i::compiler::GetInterfaceDescriptor(isolate, this); |
| 40 } | 40 } |
| 41 | 41 |
| 42 virtual Handle<Code> GenerateCode() V8_OVERRIDE { | 42 virtual Handle<Code> GenerateCode() V8_OVERRIDE { |
| 43 ExtraICState extra_state = LoadIC::ComputeExtraICState(contextual_mode_); | 43 ExtraICState extra_state = LoadIC::ComputeExtraICState( |
| 44 contextual_mode_, LoadIC::NORMAL_LOOKUP); |
| 44 return LoadIC::initialize_stub(isolate(), extra_state); | 45 return LoadIC::initialize_stub(isolate(), extra_state); |
| 45 } | 46 } |
| 46 | 47 |
| 47 virtual void InitializeInterfaceDescriptor( | 48 virtual void InitializeInterfaceDescriptor( |
| 48 CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE { | 49 CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE { |
| 49 Register registers[] = { InterfaceDescriptor::ContextRegister(), | 50 Register registers[] = { InterfaceDescriptor::ContextRegister(), |
| 50 LoadIC::ReceiverRegister(), | 51 LoadIC::ReceiverRegister(), |
| 51 LoadIC::NameRegister() }; | 52 LoadIC::NameRegister() }; |
| 52 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | 53 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); |
| 53 } | 54 } |
| (...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 534 | 535 |
| 535 Node* JSGenericLowering::LowerJSCallRuntime(Node* node) { | 536 Node* JSGenericLowering::LowerJSCallRuntime(Node* node) { |
| 536 Runtime::FunctionId function = OpParameter<Runtime::FunctionId>(node); | 537 Runtime::FunctionId function = OpParameter<Runtime::FunctionId>(node); |
| 537 int arity = OperatorProperties::GetValueInputCount(node->op()); | 538 int arity = OperatorProperties::GetValueInputCount(node->op()); |
| 538 ReplaceWithRuntimeCall(node, function, arity); | 539 ReplaceWithRuntimeCall(node, function, arity); |
| 539 return node; | 540 return node; |
| 540 } | 541 } |
| 541 } | 542 } |
| 542 } | 543 } |
| 543 } // namespace v8::internal::compiler | 544 } // namespace v8::internal::compiler |
| OLD | NEW |