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

Unified Diff: runtime/vm/flow_graph_compiler_x64.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_x64.h ('k') | runtime/vm/intermediate_language_ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph_compiler_x64.cc
===================================================================
--- runtime/vm/flow_graph_compiler_x64.cc (revision 8400)
+++ runtime/vm/flow_graph_compiler_x64.cc (working copy)
@@ -24,10 +24,9 @@
DEFINE_FLAG(bool, trace_functions, false, "Trace entry of each function.");
DECLARE_FLAG(bool, enable_type_checks);
DECLARE_FLAG(bool, print_ast);
-DECLARE_FLAG(bool, code_comments);
-void DeoptimizationStub::GenerateCode(FlowGraphCompilerShared* compiler) {
+void DeoptimizationStub::GenerateCode(FlowGraphCompiler* compiler) {
Assembler* assem = compiler->assembler();
#define __ assem->
__ Comment("Deopt stub for id %d", deopt_id_);
@@ -47,16 +46,6 @@
}
-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()->
@@ -659,44 +648,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);
- ASSERT(instr->locs() != NULL);
- 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));
- }
- }
- }
-}
-
-
-void FlowGraphCompiler::EmitComment(Instruction* instr) {
- char buffer[80];
- BufferFormatter f(buffer, sizeof(buffer));
- instr->PrintTo(&f);
- __ Comment("@%d: %s", instr->cid(), buffer);
-}
-
-
// Copied from CodeGenerator::CopyParameters (CodeGenerator will be deprecated).
void FlowGraphCompiler::CopyParameters() {
const Function& function = parsed_function().function();
« no previous file with comments | « runtime/vm/flow_graph_compiler_x64.h ('k') | runtime/vm/intermediate_language_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698