dart-sdk/runtime/vm/compiler
Régis Crelier 08b2294713 [kernel] In strong mode, change covariant parameter types to Object in the
implicit closure of a method compiled by kernel (fixes #31305).

Change-Id: Iabeee2e382bf07ff78645054e453e0bd1afd02ab
Reviewed-on: https://dart-review.googlesource.com/24362
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2017-12-01 18:00:16 +00:00
..
aot [VM] Move removal of unnecessary CheckStackOverflowInstr in leaf functions 2017-11-30 14:31:55 +00:00
assembler [VM] Fix golden disassembler output on IA32 2017-11-24 11:40:59 +00:00
backend [kernel] Check bounds of type arguments in strong mode. 2017-12-01 14:55:56 +00:00
frontend [kernel] In strong mode, change covariant parameter types to Object in the 2017-12-01 18:00:16 +00:00
jit [VM] Add support for skipping a prologue range of blocks (for inlining heuristics) 2017-12-01 00:03:56 +00:00
call_specializer.cc [VM] Emit type checks for incoming function arguments in strong mode. 2017-11-18 00:31:35 +00:00
call_specializer.h [VM] Combine use_speculative_inlining/inlining_blacklist into SpeculativeInliningPolicy 2017-11-01 11:06:00 +00:00
cha.cc
cha.h
cha_test.cc
code_generator_test.cc Revert "Revert "Introduce StaticCallNode::kNoRebind and use that in implicit closures."" 2017-09-28 19:43:32 +00:00
compiler_sources.gni [VM] Use X64 disassembler for IA32 and X64 (reland) 2017-11-22 12:04:18 +00:00
intrinsifier.cc [VM] Add support for skipping a prologue range of blocks (for inlining heuristics) 2017-12-01 00:03:56 +00:00
intrinsifier.h
intrinsifier_arm.cc [VM] Emit type checks for incoming function arguments in strong mode. 2017-11-18 00:31:35 +00:00
intrinsifier_arm64.cc [VM] Emit type checks for incoming function arguments in strong mode. 2017-11-18 00:31:35 +00:00
intrinsifier_dbc.cc
intrinsifier_ia32.cc [VM] Emit type checks for incoming function arguments in strong mode. 2017-11-18 00:31:35 +00:00
intrinsifier_x64.cc [VM] Pick more compact instruction encodings on x64 2017-11-24 10:53:17 +00:00
method_recognizer.cc [VM] Add option to print precompiler entry points 2017-11-07 19:41:09 +00:00
method_recognizer.h Fix fingerprints correctly 2017-11-14 14:02:17 +00:00
README.md

Dart VM Compilation Pipeline

This folder contains Dart VM compilation pipeline.

Compilation pipeline is mainly responsible for converting AST or Kernel AST into IL flow graphs and then generating native code from IL.

It has the following structure:

Directory What goes there
assembler/ Assemblers and disassemblers
backend/ IL based compilation backend: optimization passes and architecture specific code generation rules
frontend/ Frontends responsible for converting AST into IL
jit/ JIT specific passes and compilation pipeline entry points
aot/ AOT specific passes and compilation pipeline entry points
. Shared code or code without clear designation.

Currently there are no layering restrictions and components from different subfolders can reference each other.