Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(404)

Unified Diff: runtime/vm/flow_graph_compiler_ia32.cc

Issue 10538024: Implemented missing instructions in ia32, more sharing, removed bailouts, enable optimiziations on … (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/flow_graph_compiler_ia32.h ('k') | runtime/vm/flow_graph_compiler_shared.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph_compiler_ia32.cc
===================================================================
--- runtime/vm/flow_graph_compiler_ia32.cc (revision 8400)
+++ runtime/vm/flow_graph_compiler_ia32.cc (working copy)
@@ -17,7 +17,6 @@
namespace dart {
-DECLARE_FLAG(bool, code_comments);
DECLARE_FLAG(bool, compiler_stats);
DECLARE_FLAG(bool, enable_type_checks);
DECLARE_FLAG(bool, print_ast);
@@ -25,7 +24,7 @@
DECLARE_FLAG(bool, trace_functions);
-void DeoptimizationStub::GenerateCode(FlowGraphCompilerShared* compiler) {
+void DeoptimizationStub::GenerateCode(FlowGraphCompiler* compiler) {
Assembler* assem = compiler->assembler();
#define __ assem->
__ Comment("Deopt stub for id %d", deopt_id_);
@@ -45,17 +44,7 @@
}
-FlowGraphCompiler::FlowGraphCompiler(
- Assembler* assembler,
- const ParsedFunction& parsed_function,
- const GrowableArray<BlockEntryInstr*>& block_order,
- bool is_optimizing)
- : FlowGraphCompilerShared(assembler,
- parsed_function,
- block_order,
- is_optimizing) {}
-
#define __ assembler()->
void FlowGraphCompiler::GenerateInlinedGetter(intptr_t offset) {
@@ -957,22 +946,6 @@
}
-void FlowGraphCompiler::EmitComment(Instruction* instr) {
- char buffer[80];
- BufferFormatter f(buffer, sizeof(buffer));
- instr->PrintTo(&f);
- __ Comment("@%d: %s", instr->cid(), buffer);
-}
-
-
-void FlowGraphCompiler::BailoutOnInstruction(Instruction* instr) {
- char buffer[80];
- BufferFormatter f(buffer, sizeof(buffer));
- instr->PrintTo(&f);
- Bailout(buffer);
-}
-
-
void FlowGraphCompiler::EmitInstructionPrologue(Instruction* instr) {
LocationSummary* locs = instr->locs();
ASSERT(locs != NULL);
@@ -988,37 +961,6 @@
}
-void FlowGraphCompiler::VisitBlocks() {
- for (intptr_t i = 0; i < block_order().length(); ++i) {
- __ Comment("B%d", i);
- // Compile the block entry.
- set_current_block(block_order()[i]);
- current_block()->PrepareEntry(this);
- Instruction* instr = current_block()->StraightLineSuccessor();
- // Compile all successors until an exit, branch, or a block entry.
- while ((instr != NULL) && !instr->IsBlockEntry()) {
- if (FLAG_code_comments) EmitComment(instr);
- if (instr->locs() == NULL) {
- BailoutOnInstruction(instr);
- } else {
- EmitInstructionPrologue(instr);
- instr->EmitNativeCode(this);
- instr = instr->StraightLineSuccessor();
- }
- }
- BlockEntryInstr* successor =
- (instr == NULL) ? NULL : instr->AsBlockEntry();
- if (successor != NULL) {
- // Block ended with a "goto". We can fall through if it is the
- // next block in the list. Otherwise, we need a jump.
- if ((i == block_order().length() - 1) ||
- (block_order()[i + 1] != successor)) {
- __ jmp(GetBlockLabel(successor));
- }
- }
- }
-}
-
#undef __
} // namespace dart
« no previous file with comments | « runtime/vm/flow_graph_compiler_ia32.h ('k') | runtime/vm/flow_graph_compiler_shared.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698