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_; |