Chromium Code Reviews| Index: src/compiler/code-generator.h |
| diff --git a/src/compiler/code-generator.h b/src/compiler/code-generator.h |
| index 658394b3217ad79b00bfe632425f495dfd3f13e9..d563ab7a2554c8f6ecc328693b7cb078230b2790 100644 |
| --- a/src/compiler/code-generator.h |
| +++ b/src/compiler/code-generator.h |
| @@ -27,6 +27,12 @@ struct BranchInfo { |
| }; |
| +struct HandlerInfo { |
|
Benedikt Meurer
2015/02/19 18:31:19
I think this should be a private member of CodeGen
Michael Starzinger
2015/02/20 10:04:54
Done.
|
| + Label* handler; |
| + int pc_offset; |
| +}; |
| + |
| + |
| // Generates native code for a sequence of instructions. |
| class CodeGenerator FINAL : public GapResolver::Assembler { |
| public: |
| @@ -106,8 +112,10 @@ class CodeGenerator FINAL : public GapResolver::Assembler { |
| void AssembleJumpTable(Label** targets, size_t target_count); |
| // =========================================================================== |
| - // Deoptimization table construction |
| - void AddSafepointAndDeopt(Instruction* instr); |
| + // ================== Deoptimization table construction. ===================== |
| + // =========================================================================== |
| + |
| + void AddSafepointAndDeoptAndHandler(Instruction* instr); |
| void PopulateDeoptimizationData(Handle<Code> code); |
| int DefineDeoptimizationLiteral(Handle<Object> literal); |
| FrameStateDescriptor* GetFrameStateDescriptor(Instruction* instr, |
| @@ -155,8 +163,9 @@ class CodeGenerator FINAL : public GapResolver::Assembler { |
| MacroAssembler masm_; |
| GapResolver resolver_; |
| SafepointTableBuilder safepoints_; |
| + ZoneVector<HandlerInfo> handlers_; |
| ZoneDeque<DeoptimizationState*> deoptimization_states_; |
| - ZoneDeque<Handle<Object> > deoptimization_literals_; |
| + ZoneDeque<Handle<Object>> deoptimization_literals_; |
| TranslationBuffer translations_; |
| int last_lazy_deopt_pc_; |
| JumpTable* jump_tables_; |