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/simplified-lowering.h" | 5 #include "src/compiler/simplified-lowering.h" |
6 | 6 |
7 #include "src/base/bits.h" | 7 #include "src/base/bits.h" |
8 #include "src/code-factory.h" | 8 #include "src/code-factory.h" |
9 #include "src/compiler/common-operator.h" | 9 #include "src/compiler/common-operator.h" |
10 #include "src/compiler/graph-inl.h" | 10 #include "src/compiler/graph-inl.h" |
(...skipping 823 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
834 } | 834 } |
835 return kNoWriteBarrier; | 835 return kNoWriteBarrier; |
836 } | 836 } |
837 | 837 |
838 | 838 |
839 void SimplifiedLowering::DoLoadField(Node* node) { | 839 void SimplifiedLowering::DoLoadField(Node* node) { |
840 const FieldAccess& access = FieldAccessOf(node->op()); | 840 const FieldAccess& access = FieldAccessOf(node->op()); |
841 node->set_op(machine()->Load(access.machine_type)); | 841 node->set_op(machine()->Load(access.machine_type)); |
842 Node* offset = jsgraph()->Int32Constant(access.offset - access.tag()); | 842 Node* offset = jsgraph()->Int32Constant(access.offset - access.tag()); |
843 node->InsertInput(zone(), 1, offset); | 843 node->InsertInput(zone(), 1, offset); |
| 844 node->AppendInput(zone(), graph()->start()); |
844 } | 845 } |
845 | 846 |
846 | 847 |
847 void SimplifiedLowering::DoStoreField(Node* node) { | 848 void SimplifiedLowering::DoStoreField(Node* node) { |
848 const FieldAccess& access = FieldAccessOf(node->op()); | 849 const FieldAccess& access = FieldAccessOf(node->op()); |
849 WriteBarrierKind kind = ComputeWriteBarrierKind( | 850 WriteBarrierKind kind = ComputeWriteBarrierKind( |
850 access.base_is_tagged, access.machine_type, access.type); | 851 access.base_is_tagged, access.machine_type, access.type); |
851 node->set_op( | 852 node->set_op( |
852 machine()->Store(StoreRepresentation(access.machine_type, kind))); | 853 machine()->Store(StoreRepresentation(access.machine_type, kind))); |
853 Node* offset = jsgraph()->Int32Constant(access.offset - access.tag()); | 854 Node* offset = jsgraph()->Int32Constant(access.offset - access.tag()); |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
967 void SimplifiedLowering::DoStringLessThanOrEqual(Node* node) { | 968 void SimplifiedLowering::DoStringLessThanOrEqual(Node* node) { |
968 node->set_op(machine()->IntLessThanOrEqual()); | 969 node->set_op(machine()->IntLessThanOrEqual()); |
969 node->ReplaceInput(0, StringComparison(node, true)); | 970 node->ReplaceInput(0, StringComparison(node, true)); |
970 node->ReplaceInput(1, jsgraph()->SmiConstant(EQUAL)); | 971 node->ReplaceInput(1, jsgraph()->SmiConstant(EQUAL)); |
971 } | 972 } |
972 | 973 |
973 | 974 |
974 } // namespace compiler | 975 } // namespace compiler |
975 } // namespace internal | 976 } // namespace internal |
976 } // namespace v8 | 977 } // namespace v8 |
OLD | NEW |