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 #ifndef V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 5 #ifndef V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
6 #define V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 6 #define V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
7 | 7 |
8 #include <cstring> | 8 #include <cstring> |
9 #include <iosfwd> | 9 #include <iosfwd> |
10 | 10 |
11 #include "src/allocation.h" | 11 #include "src/allocation.h" |
12 #include "src/base/bits.h" | 12 #include "src/base/bits.h" |
13 #include "src/bit-vector.h" | 13 #include "src/bit-vector.h" |
14 #include "src/code-stubs.h" | 14 #include "src/code-stubs.h" |
15 #include "src/conversions.h" | 15 #include "src/conversions.h" |
16 #include "src/crankshaft/hydrogen-types.h" | 16 #include "src/crankshaft/hydrogen-types.h" |
17 #include "src/crankshaft/unique.h" | 17 #include "src/crankshaft/unique.h" |
18 #include "src/deoptimizer.h" | 18 #include "src/deoptimizer.h" |
| 19 #include "src/globals.h" |
19 #include "src/small-pointer-list.h" | 20 #include "src/small-pointer-list.h" |
20 #include "src/utils.h" | 21 #include "src/utils.h" |
21 #include "src/zone.h" | 22 #include "src/zone.h" |
22 | 23 |
23 namespace v8 { | 24 namespace v8 { |
24 namespace internal { | 25 namespace internal { |
25 | 26 |
26 // Forward declarations. | 27 // Forward declarations. |
27 struct ChangesOf; | 28 struct ChangesOf; |
28 class HBasicBlock; | 29 class HBasicBlock; |
(...skipping 1077 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1106 | 1107 |
1107 virtual bool HasStackCheck() { return false; } | 1108 virtual bool HasStackCheck() { return false; } |
1108 | 1109 |
1109 DECLARE_ABSTRACT_INSTRUCTION(Instruction) | 1110 DECLARE_ABSTRACT_INSTRUCTION(Instruction) |
1110 | 1111 |
1111 protected: | 1112 protected: |
1112 explicit HInstruction(HType type = HType::Tagged()) | 1113 explicit HInstruction(HType type = HType::Tagged()) |
1113 : HValue(type), | 1114 : HValue(type), |
1114 next_(NULL), | 1115 next_(NULL), |
1115 previous_(NULL), | 1116 previous_(NULL), |
1116 position_(RelocInfo::kNoPosition) { | 1117 position_(kNoSourcePosition) { |
1117 SetDependsOnFlag(kOsrEntries); | 1118 SetDependsOnFlag(kOsrEntries); |
1118 } | 1119 } |
1119 | 1120 |
1120 void DeleteFromGraph() override { Unlink(); } | 1121 void DeleteFromGraph() override { Unlink(); } |
1121 | 1122 |
1122 private: | 1123 private: |
1123 void InitializeAsFirst(HBasicBlock* block) { | 1124 void InitializeAsFirst(HBasicBlock* block) { |
1124 DCHECK(!IsLinked()); | 1125 DCHECK(!IsLinked()); |
1125 SetBlock(block); | 1126 SetBlock(block); |
1126 } | 1127 } |
(...skipping 6027 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7154 bool IsDeletable() const override { return true; } | 7155 bool IsDeletable() const override { return true; } |
7155 }; | 7156 }; |
7156 | 7157 |
7157 #undef DECLARE_INSTRUCTION | 7158 #undef DECLARE_INSTRUCTION |
7158 #undef DECLARE_CONCRETE_INSTRUCTION | 7159 #undef DECLARE_CONCRETE_INSTRUCTION |
7159 | 7160 |
7160 } // namespace internal | 7161 } // namespace internal |
7161 } // namespace v8 | 7162 } // namespace v8 |
7162 | 7163 |
7163 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 7164 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |