| 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/compiler/js-generic-lowering.h" | 5 #include "src/compiler/js-generic-lowering.h" | 
| 6 | 6 | 
| 7 #include "src/ast/ast.h" | 7 #include "src/ast/ast.h" | 
| 8 #include "src/code-factory.h" | 8 #include "src/code-factory.h" | 
| 9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" | 
| 10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" | 
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 212   // Load the type feedback vector from the closure. | 212   // Load the type feedback vector from the closure. | 
| 213   Node* literals = effect = graph()->NewNode( | 213   Node* literals = effect = graph()->NewNode( | 
| 214       machine()->Load(MachineType::AnyTagged()), closure, | 214       machine()->Load(MachineType::AnyTagged()), closure, | 
| 215       jsgraph()->IntPtrConstant(JSFunction::kLiteralsOffset - kHeapObjectTag), | 215       jsgraph()->IntPtrConstant(JSFunction::kLiteralsOffset - kHeapObjectTag), | 
| 216       effect, control); | 216       effect, control); | 
| 217   Node* vector = effect = graph()->NewNode( | 217   Node* vector = effect = graph()->NewNode( | 
| 218       machine()->Load(MachineType::AnyTagged()), literals, | 218       machine()->Load(MachineType::AnyTagged()), literals, | 
| 219       jsgraph()->IntPtrConstant(LiteralsArray::kFeedbackVectorOffset - | 219       jsgraph()->IntPtrConstant(LiteralsArray::kFeedbackVectorOffset - | 
| 220                                 kHeapObjectTag), | 220                                 kHeapObjectTag), | 
| 221       effect, control); | 221       effect, control); | 
| 222   node->InsertInput(zone(), 0, jsgraph()->SmiConstant(p.feedback().index())); | 222   node->InsertInput(zone(), 0, jsgraph()->HeapConstant(p.name())); | 
| 223   node->ReplaceInput(1, vector); | 223   node->InsertInput(zone(), 1, jsgraph()->SmiConstant(p.feedback().index())); | 
| 224   node->ReplaceInput(4, effect); | 224   node->ReplaceInput(2, vector); | 
|  | 225   node->ReplaceInput(5, effect); | 
| 225   ReplaceWithStubCall(node, callable, flags); | 226   ReplaceWithStubCall(node, callable, flags); | 
| 226 } | 227 } | 
| 227 | 228 | 
| 228 | 229 | 
| 229 void JSGenericLowering::LowerJSStoreProperty(Node* node) { | 230 void JSGenericLowering::LowerJSStoreProperty(Node* node) { | 
| 230   Node* receiver = NodeProperties::GetValueInput(node, 0); | 231   Node* receiver = NodeProperties::GetValueInput(node, 0); | 
| 231   Node* key = NodeProperties::GetValueInput(node, 1); | 232   Node* key = NodeProperties::GetValueInput(node, 1); | 
| 232   Node* value = NodeProperties::GetValueInput(node, 2); | 233   Node* value = NodeProperties::GetValueInput(node, 2); | 
| 233   Node* closure = NodeProperties::GetValueInput(node, 3); | 234   Node* closure = NodeProperties::GetValueInput(node, 3); | 
| 234   Node* effect = NodeProperties::GetEffectInput(node); | 235   Node* effect = NodeProperties::GetEffectInput(node); | 
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 705 } | 706 } | 
| 706 | 707 | 
| 707 | 708 | 
| 708 MachineOperatorBuilder* JSGenericLowering::machine() const { | 709 MachineOperatorBuilder* JSGenericLowering::machine() const { | 
| 709   return jsgraph()->machine(); | 710   return jsgraph()->machine(); | 
| 710 } | 711 } | 
| 711 | 712 | 
| 712 }  // namespace compiler | 713 }  // namespace compiler | 
| 713 }  // namespace internal | 714 }  // namespace internal | 
| 714 }  // namespace v8 | 715 }  // namespace v8 | 
| OLD | NEW | 
|---|