[VM, Compiler] Move compiler to a separate folder.

New folder structure (nested under vm/):

- compiler/
-   jit/         - JIT specific code
-   aot/         - AOT specific code
-   backend/     - all middle-end and back-end code (IL, flow graph)
-   assembler/   - assemblers and disassemblers
-   frontend/    - front ends (AST -> IL, Kernel -> IL)

compiler/README.md would be the documentation root for the compiler
pipeline

Bug: https://github.com/dart-lang/sdk/issues/30575
Change-Id: I2dfd9688793bff737f7632ddc77fca766875ce36
Reviewed-on: https://dart-review.googlesource.com/2940
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
This commit is contained in:
Vyacheslav Egorov
2017-09-04 16:18:37 +02:00
parent 9670b42c7f
commit 8a179fb953
187 changed files with 662 additions and 634 deletions
+3 -1
View File
@@ -5,6 +5,7 @@
import("../../build/compiled_action.gni")
import("../../sdk/lib/io/io_sources.gni")
import("../runtime_args.gni")
import("../vm/compiler/compiler_sources.gni")
import("../vm/vm_sources.gni")
import("builtin_impl_sources.gni")
import("builtin_sources.gni")
@@ -957,6 +958,7 @@ executable("run_vm_tests") {
# The VM sources are already included in libdart, so we just want to add in
# the tests here.
vm_tests = rebase_path(vm_sources_tests, ".", "../vm")
compiler_tests = rebase_path(compiler_sources_tests, ".", "../vm/compiler")
sources = [
"error_exit.cc",
@@ -967,7 +969,7 @@ executable("run_vm_tests") {
"run_vm_tests.cc",
"dfe.cc",
"dfe.h",
] + builtin_impl_tests + vm_tests
] + builtin_impl_tests + vm_tests + compiler_tests
if (!is_win) {
ldflags = [ "-rdynamic" ]
-1
View File
@@ -3,7 +3,6 @@
// BSD-style license that can be found in the LICENSE file.
#include "platform/assert.h"
#include "vm/assembler.h"
#include "vm/bootstrap_natives.h"
#include "vm/exceptions.h"
#include "vm/native_entry.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "vm/bootstrap_natives.h"
#include "vm/compiler.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_entry.h"
#include "vm/exceptions.h"
#include "vm/native_entry.h"
-1
View File
@@ -4,7 +4,6 @@
#include "platform/assert.h"
#include "vm/assembler.h"
#include "vm/bootstrap_natives.h"
#include "vm/exceptions.h"
#include "vm/native_entry.h"
-1
View File
@@ -4,7 +4,6 @@
#include "platform/assert.h"
#include "vm/assembler.h"
#include "vm/bootstrap_natives.h"
#include "vm/exceptions.h"
#include "vm/flags.h"
+2 -2
View File
@@ -7,11 +7,11 @@
#include "lib/invocation_mirror.h"
#include "vm/bootstrap_natives.h"
#include "vm/class_finalizer.h"
#include "vm/compiler.h"
#include "vm/compiler/frontend/kernel_to_il.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_entry.h"
#include "vm/exceptions.h"
#include "vm/flags.h"
#include "vm/kernel_to_il.h"
#include "vm/object_store.h"
#include "vm/parser.h"
#include "vm/port.h"
+2 -1
View File
@@ -31,6 +31,7 @@ import("../lib/profiler_sources.gni")
import("../lib/typed_data_sources.gni")
import("../lib/vmservice_sources.gni")
import("../runtime_args.gni")
import("compiler/compiler_sources.gni")
import("vm_sources.gni")
config("libdart_vm_config") {
@@ -71,7 +72,7 @@ template("build_libdart_vm") {
"*_test.cc",
"*_test.h",
])
sources = vm_sources
sources = vm_sources + rebase_path(compiler_sources, ".", "./compiler/")
include_dirs = [ ".." ]
}
}
+1 -1
View File
@@ -5,7 +5,7 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/ast.h"
#include "vm/compiler.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_entry.h"
#include "vm/isolate.h"
#include "vm/log.h"
+1 -1
View File
@@ -8,7 +8,7 @@
#include "vm/bootstrap_natives.h"
#include "vm/class_finalizer.h"
#include "vm/compiler.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_api_impl.h"
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/kernel.h"
+1 -1
View File
@@ -8,7 +8,7 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/class_finalizer.h"
#include "vm/compiler.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/kernel_loader.h"
#endif
#include "vm/object.h"
+2 -2
View File
@@ -5,10 +5,10 @@
#include "platform/assert.h"
#include "vm/globals.h"
#include "vm/assembler.h"
#include "vm/ast.h"
#include "vm/code_descriptors.h"
#include "vm/compiler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_entry.h"
#include "vm/native_entry.h"
#include "vm/parser.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "vm/code_patcher.h"
#include "vm/flow_graph_compiler.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/instructions.h"
#include "vm/object.h"
+1 -1
View File
@@ -5,8 +5,8 @@
#include "vm/globals.h"
#if defined(TARGET_ARCH_ARM64)
#include "vm/assembler.h"
#include "vm/code_patcher.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/dart_entry.h"
#include "vm/instructions.h"
#include "vm/native_entry.h"
+1 -1
View File
@@ -5,8 +5,8 @@
#include "vm/globals.h"
#if defined(TARGET_ARCH_ARM)
#include "vm/assembler.h"
#include "vm/code_patcher.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/dart_entry.h"
#include "vm/instructions.h"
#include "vm/native_entry.h"
+1 -1
View File
@@ -7,7 +7,7 @@
#include "vm/code_patcher.h"
#include "vm/flow_graph_compiler.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/instructions.h"
#include "vm/object.h"
+2 -2
View File
@@ -5,11 +5,11 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32.
#if defined(TARGET_ARCH_IA32)
#include "vm/assembler.h"
#include "vm/code_patcher.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/cpu.h"
#include "vm/dart_entry.h"
#include "vm/flow_graph_compiler.h"
#include "vm/instructions.h"
#include "vm/object.h"
#include "vm/raw_object.h"
+1 -1
View File
@@ -5,8 +5,8 @@
#include "vm/globals.h"
#if defined(TARGET_ARCH_IA32)
#include "vm/assembler.h"
#include "vm/code_patcher.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/dart_entry.h"
#include "vm/instructions.h"
#include "vm/native_entry.h"
+2 -2
View File
@@ -5,11 +5,11 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_X64.
#if defined(TARGET_ARCH_X64)
#include "vm/assembler.h"
#include "vm/code_patcher.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/cpu.h"
#include "vm/dart_entry.h"
#include "vm/flow_graph_compiler.h"
#include "vm/instructions.h"
#include "vm/object.h"
#include "vm/raw_object.h"
+1 -1
View File
@@ -5,8 +5,8 @@
#include "vm/globals.h"
#if defined(TARGET_ARCH_X64)
#include "vm/assembler.h"
#include "vm/code_patcher.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/dart_entry.h"
#include "vm/instructions.h"
#include "vm/native_entry.h"
+1 -1
View File
@@ -6,7 +6,7 @@
#define RUNTIME_VM_COMPILATION_TRACE_H_
#include "platform/assert.h"
#include "vm/compiler.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/object.h"
#include "vm/program_visitor.h"
#include "vm/zone_text_buffer.h"
+19
View File
@@ -0,0 +1,19 @@
# 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.
@@ -2,28 +2,28 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/aot_optimizer.h"
#include "vm/compiler/aot/aot_optimizer.h"
#include "vm/bit_vector.h"
#include "vm/branch_optimizer.h"
#include "vm/cha.h"
#include "vm/compiler.h"
#include "vm/compiler/aot/precompiler.h"
#include "vm/compiler/backend/branch_optimizer.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/inliner.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/cha.h"
#include "vm/compiler/frontend/flow_graph_builder.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/compiler/jit/jit_optimizer.h"
#include "vm/cpu.h"
#include "vm/dart_entry.h"
#include "vm/exceptions.h"
#include "vm/flow_graph_builder.h"
#include "vm/flow_graph_compiler.h"
#include "vm/flow_graph_inliner.h"
#include "vm/flow_graph_range_analysis.h"
#include "vm/hash_map.h"
#include "vm/il_printer.h"
#include "vm/intermediate_language.h"
#include "vm/jit_optimizer.h"
#include "vm/object.h"
#include "vm/object_store.h"
#include "vm/optimizer.h"
#include "vm/parser.h"
#include "vm/precompiler.h"
#include "vm/resolver.h"
#include "vm/scopes.h"
#include "vm/stack_frame.h"
@@ -2,11 +2,11 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_AOT_OPTIMIZER_H_
#define RUNTIME_VM_AOT_OPTIMIZER_H_
#ifndef RUNTIME_VM_COMPILER_AOT_AOT_OPTIMIZER_H_
#define RUNTIME_VM_COMPILER_AOT_AOT_OPTIMIZER_H_
#include "vm/flow_graph.h"
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/il.h"
namespace dart {
@@ -149,4 +149,4 @@ class AotOptimizer : public FlowGraphVisitor {
} // namespace dart
#endif // RUNTIME_VM_AOT_OPTIMIZER_H_
#endif // RUNTIME_VM_COMPILER_AOT_AOT_OPTIMIZER_H_
@@ -2,30 +2,31 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/precompiler.h"
#include "vm/compiler/aot/precompiler.h"
#include "vm/aot_optimizer.h"
#include "vm/assembler.h"
#include "vm/ast_printer.h"
#include "vm/branch_optimizer.h"
#include "vm/cha.h"
#include "vm/class_finalizer.h"
#include "vm/code_patcher.h"
#include "vm/compiler.h"
#include "vm/constant_propagator.h"
#include "vm/compiler/aot/aot_optimizer.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/assembler/disassembler.h"
#include "vm/compiler/backend/branch_optimizer.h"
#include "vm/compiler/backend/constant_propagator.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/inliner.h"
#include "vm/compiler/backend/linearscan.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/backend/redundancy_elimination.h"
#include "vm/compiler/backend/type_propagator.h"
#include "vm/compiler/cha.h"
#include "vm/compiler/frontend/flow_graph_builder.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_entry.h"
#include "vm/disassembler.h"
#include "vm/exceptions.h"
#include "vm/flags.h"
#include "vm/flow_graph.h"
#include "vm/flow_graph_allocator.h"
#include "vm/flow_graph_builder.h"
#include "vm/flow_graph_compiler.h"
#include "vm/flow_graph_inliner.h"
#include "vm/flow_graph_range_analysis.h"
#include "vm/flow_graph_type_propagator.h"
#include "vm/hash_table.h"
#include "vm/il_printer.h"
#include "vm/isolate.h"
#include "vm/json_parser.h"
#include "vm/log.h"
@@ -35,7 +36,6 @@
#include "vm/os.h"
#include "vm/parser.h"
#include "vm/program_visitor.h"
#include "vm/redundancy_elimination.h"
#include "vm/regexp_assembler.h"
#include "vm/regexp_parser.h"
#include "vm/resolver.h"
@@ -2,8 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_PRECOMPILER_H_
#define RUNTIME_VM_PRECOMPILER_H_
#ifndef RUNTIME_VM_COMPILER_AOT_PRECOMPILER_H_
#define RUNTIME_VM_COMPILER_AOT_PRECOMPILER_H_
#include "vm/allocation.h"
#include "vm/hash_map.h"
@@ -687,4 +687,4 @@ class Obfuscator {
} // namespace dart
#endif // RUNTIME_VM_PRECOMPILER_H_
#endif // RUNTIME_VM_COMPILER_AOT_PRECOMPILER_H_
@@ -4,7 +4,7 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "platform/utils.h"
#include "vm/cpu.h"
@@ -2,8 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_ASSEMBLER_H_
#define RUNTIME_VM_ASSEMBLER_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_H_
#define RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_H_
#include "platform/assert.h"
#include "vm/allocation.h"
@@ -318,17 +318,17 @@ enum RestorePP { kRestoreCallerPP, kKeepCalleePP };
} // namespace dart
#if defined(TARGET_ARCH_IA32)
#include "vm/assembler_ia32.h"
#include "vm/compiler/assembler/assembler_ia32.h"
#elif defined(TARGET_ARCH_X64)
#include "vm/assembler_x64.h"
#include "vm/compiler/assembler/assembler_x64.h"
#elif defined(TARGET_ARCH_ARM)
#include "vm/assembler_arm.h"
#include "vm/compiler/assembler/assembler_arm.h"
#elif defined(TARGET_ARCH_ARM64)
#include "vm/assembler_arm64.h"
#include "vm/compiler/assembler/assembler_arm64.h"
#elif defined(TARGET_ARCH_DBC)
#include "vm/assembler_dbc.h"
#include "vm/compiler/assembler/assembler_dbc.h"
#else
#error Unknown architecture.
#endif
#endif // RUNTIME_VM_ASSEMBLER_H_
#endif // RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_H_
@@ -5,7 +5,7 @@
#include "vm/globals.h" // NOLINT
#if defined(TARGET_ARCH_ARM) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/cpu.h"
#include "vm/longjump.h"
#include "vm/runtime_entry.h"
@@ -2,10 +2,10 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_ASSEMBLER_ARM_H_
#define RUNTIME_VM_ASSEMBLER_ARM_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_ARM_H_
#define RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_ARM_H_
#ifndef RUNTIME_VM_ASSEMBLER_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_H_
#error Do not include assembler_arm.h directly; use assembler.h instead.
#endif
@@ -1253,4 +1253,4 @@ class Assembler : public ValueObject {
} // namespace dart
#endif // RUNTIME_VM_ASSEMBLER_ARM_H_
#endif // RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_ARM_H_
@@ -5,7 +5,7 @@
#include "vm/globals.h" // NOLINT
#if defined(TARGET_ARCH_ARM64) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/cpu.h"
#include "vm/longjump.h"
#include "vm/runtime_entry.h"
@@ -2,10 +2,10 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_ASSEMBLER_ARM64_H_
#define RUNTIME_VM_ASSEMBLER_ARM64_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_ARM64_H_
#define RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_ARM64_H_
#ifndef RUNTIME_VM_ASSEMBLER_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_H_
#error Do not include assembler_arm64.h directly; use assembler.h instead.
#endif
@@ -1938,4 +1938,4 @@ class Assembler : public ValueObject {
} // namespace dart
#endif // RUNTIME_VM_ASSEMBLER_ARM64_H_
#endif // RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_ARM64_H_
@@ -5,7 +5,7 @@
#include "vm/globals.h"
#if defined(TARGET_ARCH_ARM64)
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/cpu.h"
#include "vm/os.h"
#include "vm/unit_test.h"
@@ -5,7 +5,7 @@
#include "vm/globals.h"
#if defined(TARGET_ARCH_ARM)
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/cpu.h"
#include "vm/os.h"
#include "vm/unit_test.h"
@@ -5,7 +5,7 @@
#include "vm/globals.h" // NOLINT
#if defined(TARGET_ARCH_DBC)
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/cpu.h"
#include "vm/longjump.h"
#include "vm/runtime_entry.h"
@@ -2,10 +2,10 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_ASSEMBLER_DBC_H_
#define RUNTIME_VM_ASSEMBLER_DBC_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_DBC_H_
#define RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_DBC_H_
#ifndef RUNTIME_VM_ASSEMBLER_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_H_
#error Do not include assembler_dbc.h directly; use assembler.h instead.
#endif
@@ -183,4 +183,4 @@ class Assembler : public ValueObject {
} // namespace dart
#endif // RUNTIME_VM_ASSEMBLER_DBC_H_
#endif // RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_DBC_H_
@@ -5,7 +5,7 @@
#include "vm/globals.h"
#if defined(TARGET_ARCH_DBC)
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/stack_frame.h"
#include "vm/unit_test.h"
@@ -5,7 +5,7 @@
#include "vm/globals.h" // NOLINT
#if defined(TARGET_ARCH_IA32) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/cpu.h"
#include "vm/heap.h"
#include "vm/instructions.h"
@@ -2,10 +2,10 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_ASSEMBLER_IA32_H_
#define RUNTIME_VM_ASSEMBLER_IA32_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_IA32_H_
#define RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_IA32_H_
#ifndef RUNTIME_VM_ASSEMBLER_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_H_
#error Do not include assembler_ia32.h directly; use assembler.h instead.
#endif
@@ -1001,4 +1001,4 @@ inline void Assembler::EmitOperandSizeOverride() {
} // namespace dart
#endif // RUNTIME_VM_ASSEMBLER_IA32_H_
#endif // RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_IA32_H_
@@ -5,7 +5,7 @@
#include "vm/globals.h"
#if defined(TARGET_ARCH_IA32)
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/cpu.h"
#include "vm/os.h"
#include "vm/unit_test.h"
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/globals.h"
#include "vm/os.h"
#include "vm/simulator.h"
@@ -5,11 +5,11 @@
#include "vm/globals.h" // NOLINT
#if defined(TARGET_ARCH_X64) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/backend/locations.h"
#include "vm/cpu.h"
#include "vm/heap.h"
#include "vm/instructions.h"
#include "vm/locations.h"
#include "vm/memory_region.h"
#include "vm/runtime_entry.h"
#include "vm/stack_frame.h"
@@ -2,10 +2,10 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_ASSEMBLER_X64_H_
#define RUNTIME_VM_ASSEMBLER_X64_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_X64_H_
#define RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_X64_H_
#ifndef RUNTIME_VM_ASSEMBLER_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_H_
#error Do not include assembler_x64.h directly; use assembler.h instead.
#endif
@@ -1136,4 +1136,4 @@ inline void Assembler::EmitOperandSizeOverride() {
} // namespace dart
#endif // RUNTIME_VM_ASSEMBLER_X64_H_
#endif // RUNTIME_VM_COMPILER_ASSEMBLER_ASSEMBLER_X64_H_
@@ -5,7 +5,7 @@
#include "vm/globals.h"
#if defined(TARGET_ARCH_X64)
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/os.h"
#include "vm/unit_test.h"
#include "vm/virtual_memory.h"
@@ -4,13 +4,13 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/disassembler.h"
#include "vm/compiler/assembler/disassembler.h"
#include "vm/assembler.h"
#include "vm/code_patcher.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/deopt_instructions.h"
#include "vm/globals.h"
#include "vm/il_printer.h"
#include "vm/instructions.h"
#include "vm/json_stream.h"
#include "vm/log.h"
@@ -2,11 +2,11 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_DISASSEMBLER_H_
#define RUNTIME_VM_DISASSEMBLER_H_
#ifndef RUNTIME_VM_COMPILER_ASSEMBLER_DISASSEMBLER_H_
#define RUNTIME_VM_COMPILER_ASSEMBLER_DISASSEMBLER_H_
#include "vm/allocation.h"
#include "vm/assembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/globals.h"
#include "vm/log.h"
@@ -146,4 +146,4 @@ class Disassembler : public AllStatic {
} // namespace dart
#endif // RUNTIME_VM_DISASSEMBLER_H_
#endif // RUNTIME_VM_COMPILER_ASSEMBLER_DISASSEMBLER_H_
@@ -5,7 +5,7 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM.
#if defined(TARGET_ARCH_ARM) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/disassembler.h"
#include "vm/compiler/assembler/disassembler.h"
#include "platform/assert.h"
#include "vm/cpu.h"
@@ -5,7 +5,7 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM64.
#if defined(TARGET_ARCH_ARM64) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/disassembler.h"
#include "vm/compiler/assembler/disassembler.h"
#include "platform/assert.h"
#include "vm/instructions.h"
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/disassembler.h"
#include "vm/compiler/assembler/disassembler.h"
#include "vm/globals.h" // Needed here to get TARGET_ARCH_DBC.
#if defined(TARGET_ARCH_DBC)
@@ -5,7 +5,7 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32.
#if defined(TARGET_ARCH_IA32) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/disassembler.h"
#include "vm/compiler/assembler/disassembler.h"
#include "platform/utils.h"
#include "vm/allocation.h"
@@ -2,8 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/disassembler.h"
#include "vm/assembler.h"
#include "vm/compiler/assembler/disassembler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/unit_test.h"
#include "vm/virtual_memory.h"
@@ -5,7 +5,7 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32.
#if defined(TARGET_ARCH_X64) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/disassembler.h"
#include "vm/compiler/assembler/disassembler.h"
#include "platform/utils.h"
#include "vm/allocation.h"
@@ -4,12 +4,12 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/block_scheduler.h"
#include "vm/compiler/backend/block_scheduler.h"
#include "vm/allocation.h"
#include "vm/code_patcher.h"
#include "vm/compiler.h"
#include "vm/flow_graph.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/jit/compiler.h"
namespace dart {
@@ -2,8 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_BLOCK_SCHEDULER_H_
#define RUNTIME_VM_BLOCK_SCHEDULER_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_BLOCK_SCHEDULER_H_
#define RUNTIME_VM_COMPILER_BACKEND_BLOCK_SCHEDULER_H_
#include "vm/allocation.h"
@@ -27,4 +27,4 @@ class BlockScheduler : public ValueObject {
} // namespace dart
#endif // RUNTIME_VM_BLOCK_SCHEDULER_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_BLOCK_SCHEDULER_H_
@@ -4,10 +4,10 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/branch_optimizer.h"
#include "vm/compiler/backend/branch_optimizer.h"
#include "vm/flow_graph.h"
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/il.h"
namespace dart {
@@ -2,8 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_BRANCH_OPTIMIZER_H_
#define RUNTIME_VM_BRANCH_OPTIMIZER_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_BRANCH_OPTIMIZER_H_
#define RUNTIME_VM_COMPILER_BACKEND_BRANCH_OPTIMIZER_H_
#include "vm/allocation.h"
@@ -51,4 +51,4 @@ class IfConverter : public AllStatic {
} // namespace dart
#endif // RUNTIME_VM_BRANCH_OPTIMIZER_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_BRANCH_OPTIMIZER_H_
@@ -4,14 +4,14 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/constant_propagator.h"
#include "vm/compiler/backend/constant_propagator.h"
#include "vm/bit_vector.h"
#include "vm/flow_graph_builder.h"
#include "vm/flow_graph_compiler.h"
#include "vm/flow_graph_range_analysis.h"
#include "vm/il_printer.h"
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/frontend/flow_graph_builder.h"
#include "vm/parser.h"
#include "vm/symbols.h"
@@ -2,11 +2,11 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_CONSTANT_PROPAGATOR_H_
#define RUNTIME_VM_CONSTANT_PROPAGATOR_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_CONSTANT_PROPAGATOR_H_
#define RUNTIME_VM_COMPILER_BACKEND_CONSTANT_PROPAGATOR_H_
#include "vm/flow_graph.h"
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/il.h"
namespace dart {
@@ -87,4 +87,4 @@ class ConstantPropagator : public FlowGraphVisitor {
} // namespace dart
#endif // RUNTIME_VM_CONSTANT_PROPAGATOR_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_CONSTANT_PROPAGATOR_H_
@@ -4,16 +4,16 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/flow_graph.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/bit_vector.h"
#include "vm/cha.h"
#include "vm/flow_graph_builder.h"
#include "vm/flow_graph_compiler.h"
#include "vm/flow_graph_range_analysis.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/cha.h"
#include "vm/compiler/frontend/flow_graph_builder.h"
#include "vm/growable_array.h"
#include "vm/il_printer.h"
#include "vm/intermediate_language.h"
#include "vm/object_store.h"
namespace dart {
@@ -2,13 +2,13 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_FLOW_GRAPH_H_
#define RUNTIME_VM_FLOW_GRAPH_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_FLOW_GRAPH_H_
#define RUNTIME_VM_COMPILER_BACKEND_FLOW_GRAPH_H_
#include "vm/bit_vector.h"
#include "vm/compiler/backend/il.h"
#include "vm/growable_array.h"
#include "vm/hash_map.h"
#include "vm/intermediate_language.h"
#include "vm/parser.h"
#include "vm/thread.h"
@@ -527,4 +527,4 @@ class DefinitionWorklist : public ValueObject {
} // namespace dart
#endif // RUNTIME_VM_FLOW_GRAPH_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_FLOW_GRAPH_H_
@@ -6,21 +6,21 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_XXX.
#include "vm/flow_graph_compiler.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/bit_vector.h"
#include "vm/cha.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/linearscan.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/cha.h"
#include "vm/compiler/intrinsifier.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_entry.h"
#include "vm/debugger.h"
#include "vm/deopt_instructions.h"
#include "vm/exceptions.h"
#include "vm/flags.h"
#include "vm/flow_graph_allocator.h"
#include "vm/il_printer.h"
#include "vm/intrinsifier.h"
#include "vm/kernel_isolate.h"
#include "vm/locations.h"
#include "vm/log.h"
#include "vm/longjump.h"
#include "vm/object_store.h"
@@ -2,13 +2,13 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_FLOW_GRAPH_COMPILER_H_
#define RUNTIME_VM_FLOW_GRAPH_COMPILER_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_FLOW_GRAPH_COMPILER_H_
#define RUNTIME_VM_COMPILER_BACKEND_FLOW_GRAPH_COMPILER_H_
#include "vm/allocation.h"
#include "vm/assembler.h"
#include "vm/code_descriptors.h"
#include "vm/intermediate_language.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/backend/il.h"
#include "vm/runtime_entry.h"
namespace dart {
@@ -840,4 +840,4 @@ class FlowGraphCompiler : public ValueObject {
} // namespace dart
#endif // RUNTIME_VM_FLOW_GRAPH_COMPILER_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_FLOW_GRAPH_COMPILER_H_
@@ -5,16 +5,16 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM.
#if defined(TARGET_ARCH_ARM) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/flow_graph_compiler.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/ast_printer.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/cpu.h"
#include "vm/dart_entry.h"
#include "vm/deopt_instructions.h"
#include "vm/il_printer.h"
#include "vm/instructions.h"
#include "vm/locations.h"
#include "vm/object_store.h"
#include "vm/parser.h"
#include "vm/stack_frame.h"
@@ -5,16 +5,16 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM64.
#if defined(TARGET_ARCH_ARM64) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/flow_graph_compiler.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/ast_printer.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/cpu.h"
#include "vm/dart_entry.h"
#include "vm/deopt_instructions.h"
#include "vm/il_printer.h"
#include "vm/instructions.h"
#include "vm/locations.h"
#include "vm/object_store.h"
#include "vm/parser.h"
#include "vm/stack_frame.h"
@@ -5,16 +5,16 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_DBC.
#if defined(TARGET_ARCH_DBC)
#include "vm/flow_graph_compiler.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/ast_printer.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/cpu.h"
#include "vm/dart_entry.h"
#include "vm/deopt_instructions.h"
#include "vm/il_printer.h"
#include "vm/instructions.h"
#include "vm/locations.h"
#include "vm/object_store.h"
#include "vm/parser.h"
#include "vm/stack_frame.h"
@@ -5,18 +5,18 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32.
#if defined(TARGET_ARCH_IA32) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/flow_graph_compiler.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/ast_printer.h"
#include "vm/code_patcher.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/frontend/flow_graph_builder.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/cpu.h"
#include "vm/dart_entry.h"
#include "vm/deopt_instructions.h"
#include "vm/flow_graph_builder.h"
#include "vm/il_printer.h"
#include "vm/instructions.h"
#include "vm/locations.h"
#include "vm/object_store.h"
#include "vm/parser.h"
#include "vm/stack_frame.h"
@@ -5,15 +5,15 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_X64.
#if defined(TARGET_ARCH_X64) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/flow_graph_compiler.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/ast_printer.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_entry.h"
#include "vm/deopt_instructions.h"
#include "vm/il_printer.h"
#include "vm/instructions.h"
#include "vm/locations.h"
#include "vm/object_store.h"
#include "vm/parser.h"
#include "vm/stack_frame.h"
@@ -4,20 +4,20 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/il.h"
#include "vm/bit_vector.h"
#include "vm/bootstrap.h"
#include "vm/compiler.h"
#include "vm/constant_propagator.h"
#include "vm/compiler/backend/constant_propagator.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/linearscan.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/frontend/flow_graph_builder.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/compiler/method_recognizer.h"
#include "vm/cpu.h"
#include "vm/dart_entry.h"
#include "vm/flow_graph_allocator.h"
#include "vm/flow_graph_builder.h"
#include "vm/flow_graph_compiler.h"
#include "vm/flow_graph_range_analysis.h"
#include "vm/locations.h"
#include "vm/method_recognizer.h"
#include "vm/object.h"
#include "vm/object_store.h"
#include "vm/os.h"
@@ -27,7 +27,7 @@
#include "vm/stub_code.h"
#include "vm/symbols.h"
#include "vm/il_printer.h"
#include "vm/compiler/backend/il_printer.h"
namespace dart {
@@ -2,15 +2,15 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_
#define RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_IL_H_
#define RUNTIME_VM_COMPILER_BACKEND_IL_H_
#include "vm/allocation.h"
#include "vm/ast.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/method_recognizer.h"
#include "vm/flags.h"
#include "vm/growable_array.h"
#include "vm/locations.h"
#include "vm/method_recognizer.h"
#include "vm/object.h"
#include "vm/parser.h"
#include "vm/token_position.h"
@@ -8069,4 +8069,4 @@ class FlowGraphVisitor : public ValueObject {
} // namespace dart
#endif // RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_IL_H_
@@ -5,16 +5,16 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM.
#if defined(TARGET_ARCH_ARM) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/cpu.h"
#include "vm/dart_entry.h"
#include "vm/flow_graph.h"
#include "vm/flow_graph_compiler.h"
#include "vm/flow_graph_range_analysis.h"
#include "vm/instructions.h"
#include "vm/locations.h"
#include "vm/object_store.h"
#include "vm/parser.h"
#include "vm/simulator.h"
@@ -5,15 +5,15 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM64.
#if defined(TARGET_ARCH_ARM64) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_entry.h"
#include "vm/flow_graph.h"
#include "vm/flow_graph_compiler.h"
#include "vm/flow_graph_range_analysis.h"
#include "vm/instructions.h"
#include "vm/locations.h"
#include "vm/object_store.h"
#include "vm/parser.h"
#include "vm/simulator.h"
@@ -5,15 +5,15 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_DBC.
#if defined(TARGET_ARCH_DBC)
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/cpu.h"
#include "vm/dart_entry.h"
#include "vm/flow_graph.h"
#include "vm/flow_graph_compiler.h"
#include "vm/flow_graph_range_analysis.h"
#include "vm/locations.h"
#include "vm/object_store.h"
#include "vm/parser.h"
#include "vm/simulator.h"
@@ -5,15 +5,15 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32.
#if defined(TARGET_ARCH_IA32) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_entry.h"
#include "vm/flow_graph.h"
#include "vm/flow_graph_compiler.h"
#include "vm/flow_graph_range_analysis.h"
#include "vm/instructions.h"
#include "vm/locations.h"
#include "vm/object_store.h"
#include "vm/parser.h"
#include "vm/stack_frame.h"
@@ -4,10 +4,10 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/il_printer.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/flow_graph_range_analysis.h"
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/os.h"
#include "vm/parser.h"
@@ -2,11 +2,11 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_IL_PRINTER_H_
#define RUNTIME_VM_IL_PRINTER_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_IL_PRINTER_H_
#define RUNTIME_VM_COMPILER_BACKEND_IL_PRINTER_H_
#include "vm/flow_graph.h"
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/il.h"
namespace dart {
@@ -77,4 +77,4 @@ class FlowGraphPrinter : public ValueObject {
} // namespace dart
#endif // RUNTIME_VM_IL_PRINTER_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_IL_PRINTER_H_
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/il.h"
#include "vm/unit_test.h"
namespace dart {
@@ -5,15 +5,15 @@
#include "vm/globals.h" // Needed here to get TARGET_ARCH_X64.
#if defined(TARGET_ARCH_X64) && !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/locations.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_entry.h"
#include "vm/flow_graph.h"
#include "vm/flow_graph_compiler.h"
#include "vm/flow_graph_range_analysis.h"
#include "vm/instructions.h"
#include "vm/locations.h"
#include "vm/object_store.h"
#include "vm/parser.h"
#include "vm/stack_frame.h"
@@ -4,25 +4,24 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/flow_graph_inliner.h"
#include "vm/compiler/backend/inliner.h"
#include "vm/aot_optimizer.h"
#include "vm/block_scheduler.h"
#include "vm/branch_optimizer.h"
#include "vm/compiler.h"
#include "vm/compiler/aot/aot_optimizer.h"
#include "vm/compiler/aot/precompiler.h"
#include "vm/compiler/backend/block_scheduler.h"
#include "vm/compiler/backend/branch_optimizer.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/type_propagator.h"
#include "vm/compiler/frontend/flow_graph_builder.h"
#include "vm/compiler/frontend/kernel_to_il.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/compiler/jit/jit_optimizer.h"
#include "vm/flags.h"
#include "vm/flow_graph.h"
#include "vm/flow_graph_builder.h"
#include "vm/flow_graph_compiler.h"
#include "vm/flow_graph_type_propagator.h"
#include "vm/il_printer.h"
#include "vm/jit_optimizer.h"
#include "vm/kernel.h"
#include "vm/kernel_to_il.h"
#include "vm/longjump.h"
#include "vm/object.h"
#include "vm/object_store.h"
#include "vm/precompiler.h"
#include "vm/timer.h"
namespace dart {
@@ -2,8 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_FLOW_GRAPH_INLINER_H_
#define RUNTIME_VM_FLOW_GRAPH_INLINER_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_INLINER_H_
#define RUNTIME_VM_COMPILER_BACKEND_INLINER_H_
#include "vm/allocation.h"
#include "vm/growable_array.h"
@@ -87,4 +87,4 @@ class FlowGraphInliner : ValueObject {
} // namespace dart
#endif // RUNTIME_VM_FLOW_GRAPH_INLINER_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_INLINER_H_
@@ -4,13 +4,13 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/flow_graph_allocator.h"
#include "vm/compiler/backend/linearscan.h"
#include "vm/bit_vector.h"
#include "vm/flow_graph.h"
#include "vm/flow_graph_compiler.h"
#include "vm/il_printer.h"
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/log.h"
#include "vm/parser.h"
#include "vm/stack_frame.h"
@@ -2,12 +2,12 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_FLOW_GRAPH_ALLOCATOR_H_
#define RUNTIME_VM_FLOW_GRAPH_ALLOCATOR_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_LINEARSCAN_H_
#define RUNTIME_VM_COMPILER_BACKEND_LINEARSCAN_H_
#include "vm/flow_graph.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/il.h"
#include "vm/growable_array.h"
#include "vm/intermediate_language.h"
namespace dart {
@@ -648,4 +648,4 @@ class LiveRange : public ZoneAllocated {
} // namespace dart
#endif // RUNTIME_VM_FLOW_GRAPH_ALLOCATOR_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_LINEARSCAN_H_
@@ -4,10 +4,10 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/locations.h"
#include "vm/compiler/backend/locations.h"
#include "vm/assembler.h"
#include "vm/il_printer.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/log.h"
#include "vm/stack_frame.h"
@@ -2,12 +2,12 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_LOCATIONS_H_
#define RUNTIME_VM_LOCATIONS_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_LOCATIONS_H_
#define RUNTIME_VM_COMPILER_BACKEND_LOCATIONS_H_
#include "vm/allocation.h"
#include "vm/assembler.h"
#include "vm/bitfield.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/log.h"
namespace dart {
@@ -669,4 +669,4 @@ class LocationSummary : public ZoneAllocated {
} // namespace dart
#endif // RUNTIME_VM_LOCATIONS_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_LOCATIONS_H_
@@ -4,10 +4,10 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/flow_graph_range_analysis.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/bit_vector.h"
#include "vm/il_printer.h"
#include "vm/compiler/backend/il_printer.h"
namespace dart {
@@ -2,11 +2,11 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_FLOW_GRAPH_RANGE_ANALYSIS_H_
#define RUNTIME_VM_FLOW_GRAPH_RANGE_ANALYSIS_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_RANGE_ANALYSIS_H_
#define RUNTIME_VM_COMPILER_BACKEND_RANGE_ANALYSIS_H_
#include "vm/flow_graph.h"
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/il.h"
namespace dart {
@@ -632,4 +632,4 @@ class IntegerInstructionSelector : public ValueObject {
} // namespace dart
#endif // RUNTIME_VM_FLOW_GRAPH_RANGE_ANALYSIS_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_RANGE_ANALYSIS_H_
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/flow_graph_range_analysis.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/unit_test.h"
namespace dart {
@@ -4,13 +4,13 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/redundancy_elimination.h"
#include "vm/compiler/backend/redundancy_elimination.h"
#include "vm/bit_vector.h"
#include "vm/flow_graph.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/hash_map.h"
#include "vm/il_printer.h"
#include "vm/intermediate_language.h"
#include "vm/stack_frame.h"
namespace dart {
@@ -2,11 +2,11 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_REDUNDANCY_ELIMINATION_H_
#define RUNTIME_VM_REDUNDANCY_ELIMINATION_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_REDUNDANCY_ELIMINATION_H_
#define RUNTIME_VM_COMPILER_BACKEND_REDUNDANCY_ELIMINATION_H_
#include "vm/flow_graph.h"
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/il.h"
namespace dart {
@@ -135,4 +135,4 @@ class LICM : public ValueObject {
} // namespace dart
#endif // RUNTIME_VM_REDUNDANCY_ELIMINATION_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_REDUNDANCY_ELIMINATION_H_
@@ -4,11 +4,11 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/flow_graph_type_propagator.h"
#include "vm/compiler/backend/type_propagator.h"
#include "vm/bit_vector.h"
#include "vm/cha.h"
#include "vm/il_printer.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/cha.h"
#include "vm/object_store.h"
#include "vm/regexp_assembler.h"
#include "vm/resolver.h"
@@ -2,11 +2,11 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_FLOW_GRAPH_TYPE_PROPAGATOR_H_
#define RUNTIME_VM_FLOW_GRAPH_TYPE_PROPAGATOR_H_
#ifndef RUNTIME_VM_COMPILER_BACKEND_TYPE_PROPAGATOR_H_
#define RUNTIME_VM_COMPILER_BACKEND_TYPE_PROPAGATOR_H_
#include "vm/flow_graph.h"
#include "vm/intermediate_language.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/il.h"
namespace dart {
@@ -98,4 +98,4 @@ class FlowGraphTypePropagator : public FlowGraphVisitor {
} // namespace dart
#endif // RUNTIME_VM_FLOW_GRAPH_TYPE_PROPAGATOR_H_
#endif // RUNTIME_VM_COMPILER_BACKEND_TYPE_PROPAGATOR_H_
@@ -4,7 +4,7 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/cha.h"
#include "vm/compiler/cha.h"
#include "vm/class_table.h"
#include "vm/flags.h"
#include "vm/freelist.h"
@@ -2,8 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_CHA_H_
#define RUNTIME_VM_CHA_H_
#ifndef RUNTIME_VM_COMPILER_CHA_H_
#define RUNTIME_VM_COMPILER_CHA_H_
#include "vm/allocation.h"
#include "vm/growable_array.h"
@@ -86,4 +86,4 @@ class CHA : public StackResource {
} // namespace dart
#endif // RUNTIME_VM_CHA_H_
#endif // RUNTIME_VM_COMPILER_CHA_H_
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/cha.h"
#include "vm/compiler/cha.h"
#include "platform/assert.h"
#include "vm/class_finalizer.h"
#include "vm/globals.h"
@@ -5,10 +5,10 @@
#include "platform/globals.h"
#include "platform/assert.h"
#include "vm/assembler.h"
#include "vm/ast.h"
#include "vm/class_finalizer.h"
#include "vm/compiler.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_entry.h"
#include "vm/globals.h"
#include "vm/native_entry.h"
+103
View File
@@ -0,0 +1,103 @@
# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
# This file contains all sources (vm and tests) for the compiler pipeline.
# Unit test files need to have a "_test" suffix appended to the name.
compiler_sources = [
"aot/aot_optimizer.cc",
"aot/aot_optimizer.h",
"aot/precompiler.cc",
"aot/precompiler.h",
"assembler/assembler.cc",
"assembler/assembler.h",
"assembler/assembler_arm.cc",
"assembler/assembler_arm.h",
"assembler/assembler_arm64.cc",
"assembler/assembler_arm64.h",
"assembler/assembler_dbc.cc",
"assembler/assembler_dbc.h",
"assembler/assembler_ia32.cc",
"assembler/assembler_ia32.h",
"assembler/assembler_x64.cc",
"assembler/assembler_x64.h",
"assembler/disassembler.cc",
"assembler/disassembler.h",
"assembler/disassembler_arm.cc",
"assembler/disassembler_arm64.cc",
"assembler/disassembler_dbc.cc",
"assembler/disassembler_ia32.cc",
"assembler/disassembler_x64.cc",
"backend/block_scheduler.cc",
"backend/block_scheduler.h",
"backend/branch_optimizer.cc",
"backend/branch_optimizer.h",
"backend/constant_propagator.cc",
"backend/constant_propagator.h",
"backend/flow_graph.cc",
"backend/flow_graph.h",
"backend/flow_graph_compiler.cc",
"backend/flow_graph_compiler.h",
"backend/flow_graph_compiler_arm.cc",
"backend/flow_graph_compiler_arm64.cc",
"backend/flow_graph_compiler_dbc.cc",
"backend/flow_graph_compiler_ia32.cc",
"backend/flow_graph_compiler_x64.cc",
"backend/il.cc",
"backend/il.h",
"backend/il_arm.cc",
"backend/il_arm64.cc",
"backend/il_dbc.cc",
"backend/il_ia32.cc",
"backend/il_printer.cc",
"backend/il_printer.h",
"backend/il_x64.cc",
"backend/inliner.cc",
"backend/inliner.h",
"backend/linearscan.cc",
"backend/linearscan.h",
"backend/locations.cc",
"backend/locations.h",
"backend/range_analysis.cc",
"backend/range_analysis.h",
"backend/redundancy_elimination.cc",
"backend/redundancy_elimination.h",
"backend/type_propagator.cc",
"backend/type_propagator.h",
"cha.cc",
"cha.h",
"frontend/flow_graph_builder.cc",
"frontend/flow_graph_builder.h",
"frontend/kernel_binary_flowgraph.cc",
"frontend/kernel_binary_flowgraph.h",
"frontend/kernel_to_il.cc",
"frontend/kernel_to_il.h",
"intrinsifier.cc",
"intrinsifier.h",
"intrinsifier_arm.cc",
"intrinsifier_arm64.cc",
"intrinsifier_dbc.cc",
"intrinsifier_ia32.cc",
"intrinsifier_x64.cc",
"jit/compiler.cc",
"jit/compiler.h",
"jit/jit_optimizer.cc",
"jit/jit_optimizer.h",
"method_recognizer.cc",
"method_recognizer.h",
]
compiler_sources_tests = [
"assembler/assembler_arm64_test.cc",
"assembler/assembler_arm_test.cc",
"assembler/assembler_dbc_test.cc",
"assembler/assembler_ia32_test.cc",
"assembler/assembler_test.cc",
"assembler/assembler_x64_test.cc",
"assembler/disassembler_test.cc",
"backend/il_test.cc",
"backend/range_analysis_test.cc",
"cha_test.cc",
"code_generator_test.cc",
"frontend/flow_graph_builder_test.cc",
]
@@ -4,20 +4,20 @@
#if !defined(DART_PRECOMPILED_RUNTIME)
#include "vm/flow_graph_builder.h"
#include "vm/compiler/frontend/flow_graph_builder.h"
#include "lib/invocation_mirror.h"
#include "vm/ast_printer.h"
#include "vm/bit_vector.h"
#include "vm/class_finalizer.h"
#include "vm/compiler.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/exceptions.h"
#include "vm/flags.h"
#include "vm/flow_graph.h"
#include "vm/flow_graph_compiler.h"
#include "vm/heap.h"
#include "vm/il_printer.h"
#include "vm/intermediate_language.h"
#include "vm/isolate.h"
#include "vm/object.h"
#include "vm/object_store.h"
@@ -2,16 +2,16 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_FLOW_GRAPH_BUILDER_H_
#define RUNTIME_VM_FLOW_GRAPH_BUILDER_H_
#ifndef RUNTIME_VM_COMPILER_FRONTEND_FLOW_GRAPH_BUILDER_H_
#define RUNTIME_VM_COMPILER_FRONTEND_FLOW_GRAPH_BUILDER_H_
#include "platform/assert.h"
#include "platform/globals.h"
#include "vm/allocation.h"
#include "vm/ast.h"
#include "vm/flow_graph.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/il.h"
#include "vm/growable_array.h"
#include "vm/intermediate_language.h"
#include "vm/raw_object.h"
namespace dart {
@@ -573,4 +573,4 @@ class TestGraphVisitor : public ValueGraphVisitor {
} // namespace dart
#endif // RUNTIME_VM_FLOW_GRAPH_BUILDER_H_
#endif // RUNTIME_VM_COMPILER_FRONTEND_FLOW_GRAPH_BUILDER_H_
@@ -2,11 +2,11 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/flow_graph_builder.h"
#include "vm/compiler.h"
#include "vm/compiler/frontend/flow_graph_builder.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/dart_api_impl.h"
#include "vm/dart_entry.h"
#include "vm/intermediate_language.h"
#include "vm/unit_test.h"
namespace dart {
@@ -2,8 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/kernel_binary_flowgraph.h"
#include "vm/compiler.h"
#include "vm/compiler/frontend/kernel_binary_flowgraph.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/longjump.h"
#include "vm/object_store.h"
@@ -2,16 +2,16 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_
#define RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_
#ifndef RUNTIME_VM_COMPILER_FRONTEND_KERNEL_BINARY_FLOWGRAPH_H_
#define RUNTIME_VM_COMPILER_FRONTEND_KERNEL_BINARY_FLOWGRAPH_H_
#if !defined(DART_PRECOMPILED_RUNTIME)
#include <map>
#include "vm/compiler/frontend/kernel_to_il.h"
#include "vm/kernel.h"
#include "vm/kernel_binary.h"
#include "vm/kernel_to_il.h"
#include "vm/object.h"
namespace dart {
@@ -1137,4 +1137,4 @@ class AlternativeReadingScope {
} // namespace dart
#endif // !defined(DART_PRECOMPILED_RUNTIME)
#endif // RUNTIME_VM_KERNEL_BINARY_FLOWGRAPH_H_
#endif // RUNTIME_VM_COMPILER_FRONTEND_KERNEL_BINARY_FLOWGRAPH_H_
@@ -4,14 +4,13 @@
#include <set>
#include "vm/kernel_to_il.h"
#include "vm/compiler/frontend/kernel_to_il.h"
#include "vm/compiler.h"
#include "vm/intermediate_language.h"
#include "vm/kernel_binary_flowgraph.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler/frontend/kernel_binary_flowgraph.h"
#include "vm/compiler/jit/compiler.h"
#include "vm/kernel_loader.h"
#include "vm/longjump.h"
#include "vm/method_recognizer.h"
#include "vm/object_store.h"
#include "vm/report.h"
#include "vm/resolver.h"

Some files were not shown because too many files have changed in this diff Show More