| 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_COMPILER_CODE_GENERATOR_IMPL_H_ | 5 #ifndef V8_COMPILER_CODE_GENERATOR_IMPL_H_ |
| 6 #define V8_COMPILER_CODE_GENERATOR_IMPL_H_ | 6 #define V8_COMPILER_CODE_GENERATOR_IMPL_H_ |
| 7 | 7 |
| 8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" |
| 9 #include "src/compiler/code-generator.h" | 9 #include "src/compiler/code-generator.h" |
| 10 #include "src/compiler/instruction.h" | 10 #include "src/compiler/instruction.h" |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 Linkage* linkage() const { return gen_->linkage(); } | 163 Linkage* linkage() const { return gen_->linkage(); } |
| 164 | 164 |
| 165 protected: | 165 protected: |
| 166 CodeGenerator* gen_; | 166 CodeGenerator* gen_; |
| 167 Instruction* instr_; | 167 Instruction* instr_; |
| 168 }; | 168 }; |
| 169 | 169 |
| 170 // Eager deoptimization exit. | 170 // Eager deoptimization exit. |
| 171 class DeoptimizationExit : public ZoneObject { | 171 class DeoptimizationExit : public ZoneObject { |
| 172 public: | 172 public: |
| 173 explicit DeoptimizationExit(int deoptimization_id) | 173 explicit DeoptimizationExit(int deoptimization_id, SourcePosition pos) |
| 174 : deoptimization_id_(deoptimization_id) {} | 174 : deoptimization_id_(deoptimization_id), pos_(pos) {} |
| 175 | 175 |
| 176 int deoptimization_id() const { return deoptimization_id_; } | 176 int deoptimization_id() const { return deoptimization_id_; } |
| 177 Label* label() { return &label_; } | 177 Label* label() { return &label_; } |
| 178 SourcePosition pos() const { return pos_; } |
| 178 | 179 |
| 179 private: | 180 private: |
| 180 int const deoptimization_id_; | 181 int const deoptimization_id_; |
| 181 Label label_; | 182 Label label_; |
| 183 SourcePosition const pos_; |
| 182 }; | 184 }; |
| 183 | 185 |
| 184 // Generator for out-of-line code that is emitted after the main code is done. | 186 // Generator for out-of-line code that is emitted after the main code is done. |
| 185 class OutOfLineCode : public ZoneObject { | 187 class OutOfLineCode : public ZoneObject { |
| 186 public: | 188 public: |
| 187 explicit OutOfLineCode(CodeGenerator* gen); | 189 explicit OutOfLineCode(CodeGenerator* gen); |
| 188 virtual ~OutOfLineCode(); | 190 virtual ~OutOfLineCode(); |
| 189 | 191 |
| 190 virtual void Generate() = 0; | 192 virtual void Generate() = 0; |
| 191 | 193 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 211 #if V8_TARGET_ARCH_ARM64 || V8_TARGET_ARCH_ARM | 213 #if V8_TARGET_ARCH_ARM64 || V8_TARGET_ARCH_ARM |
| 212 masm->CheckConstPool(true, false); | 214 masm->CheckConstPool(true, false); |
| 213 #endif | 215 #endif |
| 214 } | 216 } |
| 215 | 217 |
| 216 } // namespace compiler | 218 } // namespace compiler |
| 217 } // namespace internal | 219 } // namespace internal |
| 218 } // namespace v8 | 220 } // namespace v8 |
| 219 | 221 |
| 220 #endif // V8_COMPILER_CODE_GENERATOR_IMPL_H | 222 #endif // V8_COMPILER_CODE_GENERATOR_IMPL_H |
| OLD | NEW |