# 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_call_specializer.cc", "aot/aot_call_specializer.h", "aot/precompiler.cc", "aot/precompiler.h", "asm_intrinsifier.cc", "asm_intrinsifier.h", "asm_intrinsifier_arm.cc", "asm_intrinsifier_arm64.cc", "asm_intrinsifier_dbc.cc", "asm_intrinsifier_ia32.cc", "asm_intrinsifier_x64.cc", "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_kbc.cc", "assembler/disassembler_kbc.h", "assembler/disassembler_x86.cc", "assembler/object_pool_builder.h", "backend/block_builder.h", "backend/block_scheduler.cc", "backend/block_scheduler.h", "backend/branch_optimizer.cc", "backend/branch_optimizer.h", "backend/code_statistics.cc", "backend/code_statistics.h", "backend/compile_type.h", "backend/constant_propagator.cc", "backend/constant_propagator.h", "backend/flow_graph.cc", "backend/flow_graph.h", "backend/flow_graph_checker.cc", "backend/flow_graph_checker.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/locations_helpers.h", "backend/locations_helpers_arm.h", "backend/loops.cc", "backend/loops.h", "backend/range_analysis.cc", "backend/range_analysis.h", "backend/redundancy_elimination.cc", "backend/redundancy_elimination.h", "backend/slot.cc", "backend/slot.h", "backend/type_propagator.cc", "backend/type_propagator.h", "call_specializer.cc", "call_specializer.h", "cha.cc", "cha.h", "compiler_pass.cc", "compiler_pass.h", "compiler_state.cc", "compiler_state.h", "ffi.cc", "ffi.h", "frontend/base_flow_graph_builder.cc", "frontend/base_flow_graph_builder.h", "frontend/bytecode_flow_graph_builder.cc", "frontend/bytecode_flow_graph_builder.h", "frontend/bytecode_reader.cc", "frontend/bytecode_reader.h", "frontend/bytecode_scope_builder.cc", "frontend/bytecode_scope_builder.h", "frontend/constant_evaluator.cc", "frontend/constant_evaluator.h", "frontend/flow_graph_builder.cc", "frontend/flow_graph_builder.h", "frontend/kernel_binary_flowgraph.cc", "frontend/kernel_binary_flowgraph.h", "frontend/kernel_fingerprints.cc", "frontend/kernel_fingerprints.h", "frontend/kernel_to_il.cc", "frontend/kernel_to_il.h", "frontend/kernel_translation_helper.cc", "frontend/kernel_translation_helper.h", "frontend/prologue_builder.cc", "frontend/prologue_builder.h", "frontend/scope_builder.cc", "frontend/scope_builder.h", "graph_intrinsifier.cc", "graph_intrinsifier.h", "graph_intrinsifier_arm.cc", "graph_intrinsifier_arm64.cc", "graph_intrinsifier_ia32.cc", "graph_intrinsifier_x64.cc", "intrinsifier.cc", "intrinsifier.h", "jit/compiler.cc", "jit/compiler.h", "jit/jit_call_specializer.cc", "jit/jit_call_specializer.h", "method_recognizer.cc", "method_recognizer.h", "recognized_methods_list.h", "relocation.cc", "relocation.h", "runtime_api.cc", "runtime_api.h", "stub_code_compiler.h", "stub_code_compiler_arm.cc", "stub_code_compiler_arm64.cc", "stub_code_compiler_dbc.cc", "stub_code_compiler_ia32.cc", "stub_code_compiler_x64.cc", ] # The most common way to include assembly files in C projects is to have # separate assembly files per architecture and operating system (for example # boringssl). # # Not that this diverges from our convention to build every file on every OS # but have ifdef guards which make the files empty on some configurations. if (is_linux || is_mac) { # MASM on Windows does not support c preproccesor style flags. compiler_sources += [ "ffi_dbc_trampoline_x64_linux_mac.S" ] } 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/il_test_helper.h", "backend/il_test_helper.cc", "backend/inliner_test.cc", "backend/locations_helpers_test.cc", "backend/loops_test.cc", "backend/range_analysis_test.cc", "backend/redundancy_elimination_test.cc", "backend/slot_test.cc", "backend/type_propagator_test.cc", "backend/typed_data_aot_test.cc", "cha_test.cc", ]