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-factory.h" | 5 #include "src/code-factory.h" |
6 #include "src/code-stubs.h" | 6 #include "src/code-stubs.h" |
7 #include "src/compiler/common-operator.h" | 7 #include "src/compiler/common-operator.h" |
8 #include "src/compiler/js-generic-lowering.h" | 8 #include "src/compiler/js-generic-lowering.h" |
9 #include "src/compiler/js-graph.h" | 9 #include "src/compiler/js-graph.h" |
10 #include "src/compiler/machine-operator.h" | 10 #include "src/compiler/machine-operator.h" |
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
599 Node* frame_state = NodeProperties::GetFrameStateInput(node, 0); | 599 Node* frame_state = NodeProperties::GetFrameStateInput(node, 0); |
600 | 600 |
601 // Get the set of properties to enumerate. | 601 // Get the set of properties to enumerate. |
602 Runtime::Function const* function = | 602 Runtime::Function const* function = |
603 Runtime::FunctionForId(Runtime::kGetPropertyNamesFast); | 603 Runtime::FunctionForId(Runtime::kGetPropertyNamesFast); |
604 CallDescriptor const* descriptor = Linkage::GetRuntimeCallDescriptor( | 604 CallDescriptor const* descriptor = Linkage::GetRuntimeCallDescriptor( |
605 zone(), function->function_id, 1, Operator::kNoProperties); | 605 zone(), function->function_id, 1, Operator::kNoProperties); |
606 Node* cache_type = effect = graph()->NewNode( | 606 Node* cache_type = effect = graph()->NewNode( |
607 common()->Call(descriptor), | 607 common()->Call(descriptor), |
608 jsgraph()->CEntryStubConstant(function->result_size), object, | 608 jsgraph()->CEntryStubConstant(function->result_size), object, |
609 jsgraph()->ExternalConstant( | 609 jsgraph()->ExternalConstant(function->function_id), |
610 ExternalReference(function->function_id, isolate())), | |
611 jsgraph()->Int32Constant(1), context, frame_state, effect, control); | 610 jsgraph()->Int32Constant(1), context, frame_state, effect, control); |
612 control = graph()->NewNode(common()->IfSuccess(), cache_type); | 611 control = graph()->NewNode(common()->IfSuccess(), cache_type); |
613 | 612 |
614 Node* object_map = effect = graph()->NewNode( | 613 Node* object_map = effect = graph()->NewNode( |
615 machine()->Load(kMachAnyTagged), object, | 614 machine()->Load(kMachAnyTagged), object, |
616 jsgraph()->IntPtrConstant(HeapObject::kMapOffset - kHeapObjectTag), | 615 jsgraph()->IntPtrConstant(HeapObject::kMapOffset - kHeapObjectTag), |
617 effect, control); | 616 effect, control); |
618 Node* cache_type_map = effect = graph()->NewNode( | 617 Node* cache_type_map = effect = graph()->NewNode( |
619 machine()->Load(kMachAnyTagged), cache_type, | 618 machine()->Load(kMachAnyTagged), cache_type, |
620 jsgraph()->IntPtrConstant(HeapObject::kMapOffset - kHeapObjectTag), | 619 jsgraph()->IntPtrConstant(HeapObject::kMapOffset - kHeapObjectTag), |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
831 } | 830 } |
832 | 831 |
833 | 832 |
834 MachineOperatorBuilder* JSGenericLowering::machine() const { | 833 MachineOperatorBuilder* JSGenericLowering::machine() const { |
835 return jsgraph()->machine(); | 834 return jsgraph()->machine(); |
836 } | 835 } |
837 | 836 |
838 } // namespace compiler | 837 } // namespace compiler |
839 } // namespace internal | 838 } // namespace internal |
840 } // namespace v8 | 839 } // namespace v8 |
OLD | NEW |