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

Unified Diff: runtime/vm/flow_graph_compiler_x64.cc

Issue 9479004: Add a stubbed-out implementation of FlowGraphCompiler for ia32 and arm. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 10 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/vm_sources.gypi » ('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
diff --git a/runtime/vm/flow_graph_compiler_x64.cc b/runtime/vm/flow_graph_compiler_x64.cc
index ef95acc1583b92e11aaad9c6248c6ba32a94efe7..5d1780f7bedb5d874b745eee71ded176eed13b77 100644
--- a/runtime/vm/flow_graph_compiler_x64.cc
+++ b/runtime/vm/flow_graph_compiler_x64.cc
@@ -19,7 +19,6 @@ namespace dart {
DECLARE_FLAG(bool, print_ast);
DECLARE_FLAG(bool, print_scopes);
DECLARE_FLAG(bool, trace_functions);
-DECLARE_FLAG(bool, disassemble);
void FlowGraphCompiler::Bailout(const char* reason) {
const char* kFormat = "FlowGraphCompiler Bailout: %s.";
@@ -187,17 +186,6 @@ void FlowGraphCompiler::CompileGraph() {
0,
-1);
__ jmp(&StubCode::FixCallersTargetLabel());
-
- if (FLAG_disassemble) {
- const char* function_fullname = function.ToFullyQualifiedCString();
- OS::Print(";;; Function %s\n", function_fullname);
- const Code& code = Code::Handle(Code::FinalizeCode("GRAPH", assembler_));
- const Instructions& instructions =
- Instructions::Handle(code.instructions());
- uword start = instructions.EntryPoint();
- Disassembler::Disassemble(start, start + assembler_->CodeSize());
- OS::Print("\n");
- }
}
@@ -222,6 +210,30 @@ void FlowGraphCompiler::AddCurrentDescriptor(PcDescriptors::Kind kind,
}
+void FlowGraphCompiler::FinalizePcDescriptors(const Code& code) {
+ ASSERT(pc_descriptors_list_ != NULL);
+ const PcDescriptors& descriptors = PcDescriptors::Handle(
+ pc_descriptors_list_->FinalizePcDescriptors(code.EntryPoint()));
+ CodeGenerator::VerifyPcDescriptors(
+ descriptors, parsed_function_.function().is_optimizable());
+ code.set_pc_descriptors(descriptors);
+}
+
+
+void FlowGraphCompiler::FinalizeVarDescriptors(const Code& code) {
+ const LocalVarDescriptors& var_descs = LocalVarDescriptors::Handle(
+ parsed_function_.node_sequence()->scope()->GetVarDescriptors());
+ code.set_var_descriptors(var_descs);
+}
+
+
+void FlowGraphCompiler::FinalizeExceptionHandlers(const Code& code) {
+ // We don't compile exception handlers yet.
+ code.set_exception_handlers(
+ ExceptionHandlers::Handle(ExceptionHandlers::New(0)));
+}
+
+
} // namespace dart
#endif // defined TARGET_ARCH_X64
« no previous file with comments | « runtime/vm/flow_graph_compiler_x64.h ('k') | runtime/vm/vm_sources.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698