OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64_LITHIUM_ARM64_H_ | 5 #ifndef V8_ARM64_LITHIUM_ARM64_H_ |
6 #define V8_ARM64_LITHIUM_ARM64_H_ | 6 #define V8_ARM64_LITHIUM_ARM64_H_ |
7 | 7 |
8 #include "hydrogen.h" | 8 #include "hydrogen.h" |
9 #include "lithium-allocator.h" | 9 #include "lithium-allocator.h" |
10 #include "lithium.h" | 10 #include "lithium.h" |
(...skipping 3119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3130 // instruction. | 3130 // instruction. |
3131 LInstruction* MarkAsCall( | 3131 LInstruction* MarkAsCall( |
3132 LInstruction* instr, | 3132 LInstruction* instr, |
3133 HInstruction* hinstr, | 3133 HInstruction* hinstr, |
3134 CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY); | 3134 CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY); |
3135 | 3135 |
3136 LInstruction* AssignPointerMap(LInstruction* instr); | 3136 LInstruction* AssignPointerMap(LInstruction* instr); |
3137 LInstruction* AssignEnvironment(LInstruction* instr); | 3137 LInstruction* AssignEnvironment(LInstruction* instr); |
3138 | 3138 |
3139 void VisitInstruction(HInstruction* current); | 3139 void VisitInstruction(HInstruction* current); |
| 3140 void CheckAndAddInstruction(LInstruction* instr, HInstruction* current); |
3140 void DoBasicBlock(HBasicBlock* block); | 3141 void DoBasicBlock(HBasicBlock* block); |
3141 | 3142 |
3142 int JSShiftAmountFromHConstant(HValue* constant) { | 3143 int JSShiftAmountFromHConstant(HValue* constant) { |
3143 return HConstant::cast(constant)->Integer32Value() & 0x1f; | 3144 return HConstant::cast(constant)->Integer32Value() & 0x1f; |
3144 } | 3145 } |
3145 bool LikelyFitsImmField(HInstruction* instr, int imm) { | 3146 bool LikelyFitsImmField(HInstruction* instr, int imm) { |
3146 if (instr->IsAdd() || instr->IsSub()) { | 3147 if (instr->IsAdd() || instr->IsSub()) { |
3147 return Assembler::IsImmAddSub(imm) || Assembler::IsImmAddSub(-imm); | 3148 return Assembler::IsImmAddSub(imm) || Assembler::IsImmAddSub(-imm); |
3148 } else { | 3149 } else { |
3149 ASSERT(instr->IsBitwise()); | 3150 ASSERT(instr->IsBitwise()); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3188 | 3189 |
3189 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 3190 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
3190 }; | 3191 }; |
3191 | 3192 |
3192 #undef DECLARE_HYDROGEN_ACCESSOR | 3193 #undef DECLARE_HYDROGEN_ACCESSOR |
3193 #undef DECLARE_CONCRETE_INSTRUCTION | 3194 #undef DECLARE_CONCRETE_INSTRUCTION |
3194 | 3195 |
3195 } } // namespace v8::internal | 3196 } } // namespace v8::internal |
3196 | 3197 |
3197 #endif // V8_ARM64_LITHIUM_ARM64_H_ | 3198 #endif // V8_ARM64_LITHIUM_ARM64_H_ |
OLD | NEW |