Chromium Code Reviews| Index: runtime/vm/flow_graph_compiler_ia32.h |
| =================================================================== |
| --- runtime/vm/flow_graph_compiler_ia32.h (revision 8180) |
| +++ runtime/vm/flow_graph_compiler_ia32.h (working copy) |
| @@ -13,6 +13,7 @@ |
| #include "vm/assembler_macros.h" |
| #include "vm/code_descriptors.h" |
| #include "vm/code_generator.h" |
| +#include "vm/flow_graph_compiler_shared.h" |
| #include "vm/intermediate_language.h" |
| namespace dart { |
| @@ -26,27 +27,19 @@ |
| // Stubbed out implementation of graph compiler, bails out immediately if |
| // CompileGraph is called. The rest of the public API is UNIMPLEMENTED. |
| -class FlowGraphCompiler : public FlowGraphVisitor { |
| +class FlowGraphCompiler : public FlowGraphCompilerShared { |
| public: |
| FlowGraphCompiler(Assembler* assembler, |
| const ParsedFunction& parsed_function, |
| const GrowableArray<BlockEntryInstr*>& block_order, |
| bool is_optimizing); |
| - virtual ~FlowGraphCompiler(); |
| - |
| void CompileGraph(); |
| - // Infrastructure copied from class CodeGenerator or stubbed out. |
| - void FinalizePcDescriptors(const Code& code); |
| - void FinalizeStackmaps(const Code& code); |
| - void FinalizeVarDescriptors(const Code& code); |
| - void FinalizeExceptionHandlers(const Code& code); |
| void FinalizeComments(const Code& code); |
| Assembler* assembler() const { return assembler_; } |
| bool is_optimizing() const { return is_optimizing_; } |
| - const ParsedFunction& parsed_function() const { return parsed_function_; } |
| void GenerateCallRuntime(intptr_t cid, |
| intptr_t token_index, |
| @@ -84,17 +77,6 @@ |
| BlockEntryInstr* current_block() const { return current_block_; } |
| - // Constructor is lighweight, major initialization work should occur here. |
| - // This makes it easier to measure time spent in the compiler. |
| - void InitCompiler(); |
| - |
| - struct BlockInfo : public ZoneAllocated { |
| - public: |
| - BlockInfo() : label() { } |
| - |
| - Label label; |
| - }; |
| - |
| void CopyParameters(); |
| void EmitInstructionPrologue(Instruction* instr); |
| @@ -110,16 +92,12 @@ |
| void BailoutOnInstruction(Instruction* instr); |
| Assembler* assembler_; |
|
Vyacheslav Egorov (Google)
2012/06/01 10:55:24
assembler_, block_order_, current_block_, deopt_st
srdjan
2012/06/01 17:44:47
Did not want to make the CL too big, but since you
|
| - const ParsedFunction& parsed_function_; |
| + const GrowableArray<BlockEntryInstr*>& block_order_; |
| // Compiler specific per-block state. Indexed by postorder block number |
| // for convenience. This is not the block's index in the block order, |
| // which is reverse postorder. |
| - GrowableArray<BlockInfo*> block_info_; |
| BlockEntryInstr* current_block_; |
| - DescriptorList* pc_descriptors_list_; |
| - StackmapBuilder* stackmap_builder_; |
| - ExceptionHandlerList* exception_handlers_list_; |
| GrowableArray<DeoptimizationStub*> deopt_stubs_; |
| const bool is_optimizing_; |