├── .gitignore ├── Android.mk ├── CleanSpec.mk ├── MODULE_LICENSE_APACHE2 ├── NOTICE ├── build ├── Android.common.mk ├── Android.common_build.mk ├── Android.common_path.mk ├── Android.common_test.mk ├── Android.common_utils.mk ├── Android.cpplint.mk ├── Android.executable.mk ├── Android.gtest.mk └── Android.oat.mk ├── cmdline ├── README.md ├── cmdline.h ├── cmdline_parse_result.h ├── cmdline_parser.h ├── cmdline_parser_test.cc ├── cmdline_result.h ├── cmdline_type_parser.h ├── cmdline_types.h ├── detail │ ├── cmdline_debug_detail.h │ ├── cmdline_parse_argument_detail.h │ └── cmdline_parser_detail.h ├── memory_representation.h ├── token_range.h └── unit.h ├── compiler ├── Android.mk ├── buffered_output_stream.cc ├── buffered_output_stream.h ├── cfi_test.h ├── common_compiler_test.cc ├── common_compiler_test.h ├── compiled_class.h ├── compiled_method.cc ├── compiled_method.h ├── compiler.cc ├── compiler.h ├── dex │ ├── bb_optimizations.cc │ ├── bb_optimizations.h │ ├── compiler_enums.h │ ├── compiler_ir.cc │ ├── compiler_ir.h │ ├── dataflow_iterator-inl.h │ ├── dataflow_iterator.h │ ├── dex_flags.h │ ├── dex_to_dex_compiler.cc │ ├── dex_types.h │ ├── global_value_numbering.cc │ ├── global_value_numbering.h │ ├── global_value_numbering_test.cc │ ├── gvn_dead_code_elimination.cc │ ├── gvn_dead_code_elimination.h │ ├── gvn_dead_code_elimination_test.cc │ ├── local_value_numbering.cc │ ├── local_value_numbering.h │ ├── local_value_numbering_test.cc │ ├── mir_analysis.cc │ ├── mir_dataflow.cc │ ├── mir_field_info.cc │ ├── mir_field_info.h │ ├── mir_graph.cc │ ├── mir_graph.h │ ├── mir_graph_test.cc │ ├── mir_method_info.cc │ ├── mir_method_info.h │ ├── mir_optimization.cc │ ├── mir_optimization_test.cc │ ├── pass.h │ ├── pass_driver.h │ ├── pass_driver_me.h │ ├── pass_driver_me_opts.cc │ ├── pass_driver_me_opts.h │ ├── pass_driver_me_post_opt.cc │ ├── pass_driver_me_post_opt.h │ ├── pass_manager.cc │ ├── pass_manager.h │ ├── pass_me.h │ ├── post_opt_passes.cc │ ├── post_opt_passes.h │ ├── quick │ │ ├── arm │ │ │ ├── arm_lir.h │ │ │ ├── assemble_arm.cc │ │ │ ├── backend_arm.h │ │ │ ├── call_arm.cc │ │ │ ├── codegen_arm.h │ │ │ ├── fp_arm.cc │ │ │ ├── int_arm.cc │ │ │ ├── target_arm.cc │ │ │ └── utility_arm.cc │ │ ├── arm64 │ │ │ ├── arm64_lir.h │ │ │ ├── assemble_arm64.cc │ │ │ ├── backend_arm64.h │ │ │ ├── call_arm64.cc │ │ │ ├── codegen_arm64.h │ │ │ ├── fp_arm64.cc │ │ │ ├── int_arm64.cc │ │ │ ├── target_arm64.cc │ │ │ └── utility_arm64.cc │ │ ├── codegen_util.cc │ │ ├── dex_file_method_inliner.cc │ │ ├── dex_file_method_inliner.h │ │ ├── dex_file_to_method_inliner_map.cc │ │ ├── dex_file_to_method_inliner_map.h │ │ ├── gen_common.cc │ │ ├── gen_invoke.cc │ │ ├── gen_loadstore.cc │ │ ├── lazy_debug_frame_opcode_writer.cc │ │ ├── lazy_debug_frame_opcode_writer.h │ │ ├── local_optimizations.cc │ │ ├── mips │ │ │ ├── README.mips │ │ │ ├── assemble_mips.cc │ │ │ ├── backend_mips.h │ │ │ ├── call_mips.cc │ │ │ ├── codegen_mips.h │ │ │ ├── fp_mips.cc │ │ │ ├── int_mips.cc │ │ │ ├── mips_lir.h │ │ │ ├── target_mips.cc │ │ │ └── utility_mips.cc │ │ ├── mir_to_lir-inl.h │ │ ├── mir_to_lir.cc │ │ ├── mir_to_lir.h │ │ ├── quick_cfi_test.cc │ │ ├── quick_cfi_test_expected.inc │ │ ├── quick_compiler.cc │ │ ├── quick_compiler.h │ │ ├── quick_compiler_factory.h │ │ ├── ralloc_util.cc │ │ ├── resource_mask.cc │ │ ├── resource_mask.h │ │ └── x86 │ │ │ ├── assemble_x86.cc │ │ │ ├── backend_x86.h │ │ │ ├── call_x86.cc │ │ │ ├── codegen_x86.h │ │ │ ├── fp_x86.cc │ │ │ ├── int_x86.cc │ │ │ ├── quick_assemble_x86_test.cc │ │ │ ├── target_x86.cc │ │ │ ├── utility_x86.cc │ │ │ └── x86_lir.h │ ├── quick_compiler_callbacks.cc │ ├── quick_compiler_callbacks.h │ ├── reg_location.h │ ├── reg_storage.h │ ├── reg_storage_eq.h │ ├── ssa_transformation.cc │ ├── type_inference.cc │ ├── type_inference.h │ ├── type_inference_test.cc │ ├── verification_results.cc │ ├── verification_results.h │ ├── verified_method.cc │ ├── verified_method.h │ └── vreg_analysis.cc ├── driver │ ├── compiler_driver-inl.h │ ├── compiler_driver.cc │ ├── compiler_driver.h │ ├── compiler_driver_test.cc │ ├── compiler_options.cc │ ├── compiler_options.h │ ├── dex_compilation_unit.cc │ └── dex_compilation_unit.h ├── dwarf │ ├── debug_frame_opcode_writer.h │ ├── debug_info_entry_writer.h │ ├── debug_line_opcode_writer.h │ ├── dwarf_constants.h │ ├── dwarf_test.cc │ ├── dwarf_test.h │ ├── headers.h │ ├── register.h │ └── writer.h ├── elf_builder.h ├── elf_writer.cc ├── elf_writer.h ├── elf_writer_debug.cc ├── elf_writer_debug.h ├── elf_writer_quick.cc ├── elf_writer_quick.h ├── elf_writer_test.cc ├── file_output_stream.cc ├── file_output_stream.h ├── gc_map_builder.h ├── image_test.cc ├── image_writer.cc ├── image_writer.h ├── jit │ ├── jit_compiler.cc │ └── jit_compiler.h ├── jni │ ├── jni_cfi_test.cc │ ├── jni_cfi_test_expected.inc │ ├── jni_compiler_test.cc │ └── quick │ │ ├── arm │ │ ├── calling_convention_arm.cc │ │ └── calling_convention_arm.h │ │ ├── arm64 │ │ ├── calling_convention_arm64.cc │ │ └── calling_convention_arm64.h │ │ ├── calling_convention.cc │ │ ├── calling_convention.h │ │ ├── jni_compiler.cc │ │ ├── jni_compiler.h │ │ ├── mips │ │ ├── calling_convention_mips.cc │ │ └── calling_convention_mips.h │ │ ├── mips64 │ │ ├── calling_convention_mips64.cc │ │ └── calling_convention_mips64.h │ │ ├── x86 │ │ ├── calling_convention_x86.cc │ │ └── calling_convention_x86.h │ │ └── x86_64 │ │ ├── calling_convention_x86_64.cc │ │ └── calling_convention_x86_64.h ├── linker │ ├── arm │ │ ├── relative_patcher_arm_base.cc │ │ ├── relative_patcher_arm_base.h │ │ ├── relative_patcher_thumb2.cc │ │ ├── relative_patcher_thumb2.h │ │ └── relative_patcher_thumb2_test.cc │ ├── arm64 │ │ ├── relative_patcher_arm64.cc │ │ ├── relative_patcher_arm64.h │ │ └── relative_patcher_arm64_test.cc │ ├── relative_patcher.cc │ ├── relative_patcher.h │ ├── relative_patcher_test.h │ ├── x86 │ │ ├── relative_patcher_x86.cc │ │ ├── relative_patcher_x86.h │ │ ├── relative_patcher_x86_base.cc │ │ ├── relative_patcher_x86_base.h │ │ └── relative_patcher_x86_test.cc │ └── x86_64 │ │ ├── relative_patcher_x86_64.cc │ │ ├── relative_patcher_x86_64.h │ │ └── relative_patcher_x86_64_test.cc ├── oat_test.cc ├── oat_writer.cc ├── oat_writer.h ├── optimizing │ ├── boolean_simplifier.cc │ ├── boolean_simplifier.h │ ├── bounds_check_elimination.cc │ ├── bounds_check_elimination.h │ ├── bounds_check_elimination_test.cc │ ├── builder.cc │ ├── builder.h │ ├── code_generator.cc │ ├── code_generator.h │ ├── code_generator_arm.cc │ ├── code_generator_arm.h │ ├── code_generator_arm64.cc │ ├── code_generator_arm64.h │ ├── code_generator_mips64.cc │ ├── code_generator_mips64.h │ ├── code_generator_utils.cc │ ├── code_generator_utils.h │ ├── code_generator_x86.cc │ ├── code_generator_x86.h │ ├── code_generator_x86_64.cc │ ├── code_generator_x86_64.h │ ├── codegen_test.cc │ ├── common_arm64.h │ ├── constant_folding.cc │ ├── constant_folding.h │ ├── constant_folding_test.cc │ ├── dead_code_elimination.cc │ ├── dead_code_elimination.h │ ├── dead_code_elimination_test.cc │ ├── dominator_test.cc │ ├── find_loops_test.cc │ ├── graph_checker.cc │ ├── graph_checker.h │ ├── graph_checker_test.cc │ ├── graph_test.cc │ ├── graph_visualizer.cc │ ├── graph_visualizer.h │ ├── gvn.cc │ ├── gvn.h │ ├── gvn_test.cc │ ├── inliner.cc │ ├── inliner.h │ ├── instruction_simplifier.cc │ ├── instruction_simplifier.h │ ├── intrinsics.cc │ ├── intrinsics.h │ ├── intrinsics_arm.cc │ ├── intrinsics_arm.h │ ├── intrinsics_arm64.cc │ ├── intrinsics_arm64.h │ ├── intrinsics_list.h │ ├── intrinsics_x86.cc │ ├── intrinsics_x86.h │ ├── intrinsics_x86_64.cc │ ├── intrinsics_x86_64.h │ ├── licm.cc │ ├── licm.h │ ├── linearize_test.cc │ ├── live_interval_test.cc │ ├── live_ranges_test.cc │ ├── liveness_test.cc │ ├── locations.cc │ ├── locations.h │ ├── nodes.cc │ ├── nodes.h │ ├── nodes_test.cc │ ├── optimization.cc │ ├── optimization.h │ ├── optimizing_cfi_test.cc │ ├── optimizing_cfi_test_expected.inc │ ├── optimizing_compiler.cc │ ├── optimizing_compiler.h │ ├── optimizing_compiler_stats.h │ ├── optimizing_unit_test.h │ ├── parallel_move_resolver.cc │ ├── parallel_move_resolver.h │ ├── parallel_move_test.cc │ ├── prepare_for_register_allocation.cc │ ├── prepare_for_register_allocation.h │ ├── pretty_printer.h │ ├── pretty_printer_test.cc │ ├── primitive_type_propagation.cc │ ├── primitive_type_propagation.h │ ├── reference_type_propagation.cc │ ├── reference_type_propagation.h │ ├── register_allocator.cc │ ├── register_allocator.h │ ├── register_allocator_test.cc │ ├── side_effects_analysis.cc │ ├── side_effects_analysis.h │ ├── ssa_builder.cc │ ├── ssa_builder.h │ ├── ssa_liveness_analysis.cc │ ├── ssa_liveness_analysis.h │ ├── ssa_phi_elimination.cc │ ├── ssa_phi_elimination.h │ ├── ssa_test.cc │ ├── stack_map_stream.cc │ ├── stack_map_stream.h │ ├── stack_map_test.cc │ └── suspend_check_test.cc ├── output_stream.cc ├── output_stream.h ├── output_stream_test.cc ├── trampolines │ ├── trampoline_compiler.cc │ └── trampoline_compiler.h ├── utils │ ├── arena_allocator_test.cc │ ├── arena_bit_vector.cc │ ├── arena_bit_vector.h │ ├── arm │ │ ├── assembler_arm.cc │ │ ├── assembler_arm.h │ │ ├── assembler_arm32.cc │ │ ├── assembler_arm32.h │ │ ├── assembler_arm32_test.cc │ │ ├── assembler_arm_test.h │ │ ├── assembler_thumb2.cc │ │ ├── assembler_thumb2.h │ │ ├── assembler_thumb2_test.cc │ │ ├── constants_arm.h │ │ ├── managed_register_arm.cc │ │ ├── managed_register_arm.h │ │ └── managed_register_arm_test.cc │ ├── arm64 │ │ ├── assembler_arm64.cc │ │ ├── assembler_arm64.h │ │ ├── constants_arm64.h │ │ ├── managed_register_arm64.cc │ │ ├── managed_register_arm64.h │ │ └── managed_register_arm64_test.cc │ ├── array_ref.h │ ├── assembler.cc │ ├── assembler.h │ ├── assembler_test.h │ ├── assembler_test_base.h │ ├── assembler_thumb_test.cc │ ├── assembler_thumb_test_expected.cc.inc │ ├── dedupe_set.h │ ├── dedupe_set_test.cc │ ├── dex_cache_arrays_layout-inl.h │ ├── dex_cache_arrays_layout.h │ ├── growable_array.h │ ├── managed_register.h │ ├── mips │ │ ├── assembler_mips.cc │ │ ├── assembler_mips.h │ │ ├── constants_mips.h │ │ ├── managed_register_mips.cc │ │ └── managed_register_mips.h │ ├── mips64 │ │ ├── assembler_mips64.cc │ │ ├── assembler_mips64.h │ │ ├── constants_mips64.h │ │ ├── managed_register_mips64.cc │ │ └── managed_register_mips64.h │ ├── stack_checks.h │ ├── swap_space.cc │ ├── swap_space.h │ ├── swap_space_test.cc │ ├── test_dex_file_builder.h │ ├── test_dex_file_builder_test.cc │ ├── x86 │ │ ├── assembler_x86.cc │ │ ├── assembler_x86.h │ │ ├── assembler_x86_test.cc │ │ ├── constants_x86.h │ │ ├── managed_register_x86.cc │ │ ├── managed_register_x86.h │ │ └── managed_register_x86_test.cc │ └── x86_64 │ │ ├── assembler_x86_64.cc │ │ ├── assembler_x86_64.h │ │ ├── assembler_x86_64_test.cc │ │ ├── constants_x86_64.h │ │ ├── managed_register_x86_64.cc │ │ ├── managed_register_x86_64.h │ │ └── managed_register_x86_64_test.cc ├── vector_output_stream.cc └── vector_output_stream.h ├── dalvikvm ├── Android.mk └── dalvikvm.cc ├── dex2oat ├── Android.mk └── dex2oat.cc ├── disassembler ├── Android.mk ├── disassembler.cc ├── disassembler.h ├── disassembler_arm.cc ├── disassembler_arm.h ├── disassembler_arm64.cc ├── disassembler_arm64.h ├── disassembler_mips.cc ├── disassembler_mips.h ├── disassembler_x86.cc └── disassembler_x86.h ├── imgdiag ├── Android.mk ├── imgdiag.cc └── imgdiag_test.cc ├── oatdump ├── Android.mk ├── oatdump.cc └── oatdump_test.cc ├── patchoat ├── Android.mk ├── patchoat.cc └── patchoat.h ├── runtime ├── Android.mk ├── arch │ ├── arch_test.cc │ ├── arm │ │ ├── asm_support_arm.S │ │ ├── asm_support_arm.h │ │ ├── context_arm.cc │ │ ├── context_arm.h │ │ ├── entrypoints_init_arm.cc │ │ ├── fault_handler_arm.cc │ │ ├── instruction_set_features_arm.cc │ │ ├── instruction_set_features_arm.h │ │ ├── instruction_set_features_arm_test.cc │ │ ├── instruction_set_features_assembly_tests.S │ │ ├── jni_entrypoints_arm.S │ │ ├── memcmp16_arm.S │ │ ├── quick_entrypoints_arm.S │ │ ├── quick_entrypoints_cc_arm.cc │ │ ├── quick_method_frame_info_arm.h │ │ ├── registers_arm.cc │ │ ├── registers_arm.h │ │ └── thread_arm.cc │ ├── arm64 │ │ ├── asm_support_arm64.S │ │ ├── asm_support_arm64.h │ │ ├── context_arm64.cc │ │ ├── context_arm64.h │ │ ├── entrypoints_init_arm64.cc │ │ ├── fault_handler_arm64.cc │ │ ├── instruction_set_features_arm64.cc │ │ ├── instruction_set_features_arm64.h │ │ ├── instruction_set_features_arm64_test.cc │ │ ├── jni_entrypoints_arm64.S │ │ ├── memcmp16_arm64.S │ │ ├── quick_entrypoints_arm64.S │ │ ├── quick_method_frame_info_arm64.h │ │ ├── registers_arm64.cc │ │ ├── registers_arm64.h │ │ └── thread_arm64.cc │ ├── context.cc │ ├── context.h │ ├── instruction_set.cc │ ├── instruction_set.h │ ├── instruction_set_features.cc │ ├── instruction_set_features.h │ ├── instruction_set_features_test.cc │ ├── instruction_set_test.cc │ ├── memcmp16.cc │ ├── memcmp16.h │ ├── memcmp16_test.cc │ ├── mips │ │ ├── asm_support_mips.S │ │ ├── asm_support_mips.h │ │ ├── context_mips.cc │ │ ├── context_mips.h │ │ ├── entrypoints_direct_mips.h │ │ ├── entrypoints_init_mips.cc │ │ ├── fault_handler_mips.cc │ │ ├── instruction_set_features_mips.cc │ │ ├── instruction_set_features_mips.h │ │ ├── instruction_set_features_mips_test.cc │ │ ├── jni_entrypoints_mips.S │ │ ├── memcmp16_mips.S │ │ ├── quick_entrypoints_mips.S │ │ ├── quick_method_frame_info_mips.h │ │ ├── registers_mips.cc │ │ ├── registers_mips.h │ │ └── thread_mips.cc │ ├── mips64 │ │ ├── asm_support_mips64.S │ │ ├── asm_support_mips64.h │ │ ├── context_mips64.cc │ │ ├── context_mips64.h │ │ ├── entrypoints_init_mips64.cc │ │ ├── fault_handler_mips64.cc │ │ ├── instruction_set_features_mips64.cc │ │ ├── instruction_set_features_mips64.h │ │ ├── instruction_set_features_mips64_test.cc │ │ ├── jni_entrypoints_mips64.S │ │ ├── memcmp16_mips64.S │ │ ├── quick_entrypoints_mips64.S │ │ ├── quick_method_frame_info_mips64.h │ │ ├── registers_mips64.cc │ │ ├── registers_mips64.h │ │ └── thread_mips64.cc │ ├── quick_alloc_entrypoints.S │ ├── stub_test.cc │ ├── x86 │ │ ├── asm_support_x86.S │ │ ├── asm_support_x86.h │ │ ├── context_x86.cc │ │ ├── context_x86.h │ │ ├── entrypoints_init_x86.cc │ │ ├── fault_handler_x86.cc │ │ ├── instruction_set_features_x86.cc │ │ ├── instruction_set_features_x86.h │ │ ├── instruction_set_features_x86_test.cc │ │ ├── jni_entrypoints_x86.S │ │ ├── memcmp16_x86.S │ │ ├── quick_entrypoints_x86.S │ │ ├── quick_method_frame_info_x86.h │ │ ├── registers_x86.cc │ │ ├── registers_x86.h │ │ └── thread_x86.cc │ └── x86_64 │ │ ├── asm_support_x86_64.S │ │ ├── asm_support_x86_64.h │ │ ├── context_x86_64.cc │ │ ├── context_x86_64.h │ │ ├── entrypoints_init_x86_64.cc │ │ ├── instruction_set_features_x86_64.h │ │ ├── instruction_set_features_x86_64_test.cc │ │ ├── jni_entrypoints_x86_64.S │ │ ├── memcmp16_x86_64.S │ │ ├── quick_entrypoints_x86_64.S │ │ ├── quick_method_frame_info_x86_64.h │ │ ├── registers_x86_64.cc │ │ ├── registers_x86_64.h │ │ └── thread_x86_64.cc ├── art_field-inl.h ├── art_field.cc ├── art_field.h ├── art_method-inl.h ├── art_method.cc ├── art_method.h ├── asm_support.h ├── atomic.cc ├── atomic.h ├── barrier.cc ├── barrier.h ├── barrier_test.cc ├── base │ ├── allocator.cc │ ├── allocator.h │ ├── arena_allocator.cc │ ├── arena_allocator.h │ ├── arena_containers.h │ ├── arena_object.h │ ├── bit_field.h │ ├── bit_field_test.cc │ ├── bit_utils.h │ ├── bit_utils_test.cc │ ├── bit_vector-inl.h │ ├── bit_vector.cc │ ├── bit_vector.h │ ├── bit_vector_test.cc │ ├── bounded_fifo.h │ ├── casts.h │ ├── debug_stack.h │ ├── dumpable.h │ ├── hash_map.h │ ├── hash_set.h │ ├── hash_set_test.cc │ ├── hex_dump.cc │ ├── hex_dump.h │ ├── hex_dump_test.cc │ ├── histogram-inl.h │ ├── histogram.h │ ├── histogram_test.cc │ ├── iteration_range.h │ ├── logging.cc │ ├── logging.h │ ├── macros.h │ ├── mutex-inl.h │ ├── mutex.cc │ ├── mutex.h │ ├── mutex_test.cc │ ├── scoped_arena_allocator.cc │ ├── scoped_arena_allocator.h │ ├── scoped_arena_containers.h │ ├── scoped_flock.cc │ ├── scoped_flock.h │ ├── scoped_flock_test.cc │ ├── stl_util.h │ ├── stringpiece.cc │ ├── stringpiece.h │ ├── stringprintf.cc │ ├── stringprintf.h │ ├── stringprintf_test.cc │ ├── time_utils.cc │ ├── time_utils.h │ ├── time_utils_test.cc │ ├── timing_logger.cc │ ├── timing_logger.h │ ├── timing_logger_test.cc │ ├── to_str.h │ ├── type_static_if.h │ ├── unix_file │ │ ├── README │ │ ├── fd_file.cc │ │ ├── fd_file.h │ │ ├── fd_file_test.cc │ │ ├── random_access_file.h │ │ ├── random_access_file_test.h │ │ ├── random_access_file_utils.cc │ │ └── random_access_file_utils.h │ ├── value_object.h │ ├── variant_map.h │ └── variant_map_test.cc ├── check_jni.cc ├── check_jni.h ├── check_reference_map_visitor.h ├── class_linker-inl.h ├── class_linker.cc ├── class_linker.h ├── class_linker_test.cc ├── class_reference.h ├── common_runtime_test.cc ├── common_runtime_test.h ├── common_throws.cc ├── common_throws.h ├── compiler_callbacks.h ├── debugger.cc ├── debugger.h ├── dex_file-inl.h ├── dex_file.cc ├── dex_file.h ├── dex_file_test.cc ├── dex_file_verifier.cc ├── dex_file_verifier.h ├── dex_file_verifier_test.cc ├── dex_instruction-inl.h ├── dex_instruction.cc ├── dex_instruction.h ├── dex_instruction_list.h ├── dex_instruction_utils.h ├── dex_instruction_visitor.h ├── dex_instruction_visitor_test.cc ├── dex_method_iterator.h ├── dex_method_iterator_test.cc ├── elf.h ├── elf_file.cc ├── elf_file.h ├── elf_file_impl.h ├── elf_utils.h ├── entrypoints │ ├── entrypoint_utils-inl.h │ ├── entrypoint_utils.cc │ ├── entrypoint_utils.h │ ├── interpreter │ │ ├── interpreter_entrypoints.cc │ │ └── interpreter_entrypoints.h │ ├── jni │ │ ├── jni_entrypoints.cc │ │ └── jni_entrypoints.h │ ├── math_entrypoints.cc │ ├── math_entrypoints.h │ ├── math_entrypoints_test.cc │ ├── quick │ │ ├── callee_save_frame.h │ │ ├── quick_alloc_entrypoints.cc │ │ ├── quick_alloc_entrypoints.h │ │ ├── quick_cast_entrypoints.cc │ │ ├── quick_default_externs.h │ │ ├── quick_deoptimization_entrypoints.cc │ │ ├── quick_dexcache_entrypoints.cc │ │ ├── quick_entrypoints.h │ │ ├── quick_entrypoints_enum.h │ │ ├── quick_entrypoints_list.h │ │ ├── quick_field_entrypoints.cc │ │ ├── quick_fillarray_entrypoints.cc │ │ ├── quick_instrumentation_entrypoints.cc │ │ ├── quick_jni_entrypoints.cc │ │ ├── quick_lock_entrypoints.cc │ │ ├── quick_math_entrypoints.cc │ │ ├── quick_thread_entrypoints.cc │ │ ├── quick_throw_entrypoints.cc │ │ ├── quick_trampoline_entrypoints.cc │ │ └── quick_trampoline_entrypoints_test.cc │ └── runtime_asm_entrypoints.h ├── entrypoints_order_test.cc ├── exception_test.cc ├── fault_handler.cc ├── fault_handler.h ├── gc │ ├── accounting │ │ ├── atomic_stack.h │ │ ├── bitmap-inl.h │ │ ├── bitmap.cc │ │ ├── bitmap.h │ │ ├── card_table-inl.h │ │ ├── card_table.cc │ │ ├── card_table.h │ │ ├── card_table_test.cc │ │ ├── heap_bitmap-inl.h │ │ ├── heap_bitmap.cc │ │ ├── heap_bitmap.h │ │ ├── mod_union_table-inl.h │ │ ├── mod_union_table.cc │ │ ├── mod_union_table.h │ │ ├── mod_union_table_test.cc │ │ ├── read_barrier_table.h │ │ ├── remembered_set.cc │ │ ├── remembered_set.h │ │ ├── space_bitmap-inl.h │ │ ├── space_bitmap.cc │ │ ├── space_bitmap.h │ │ └── space_bitmap_test.cc │ ├── allocator │ │ ├── dlmalloc.cc │ │ ├── dlmalloc.h │ │ ├── rosalloc-inl.h │ │ ├── rosalloc.cc │ │ └── rosalloc.h │ ├── allocator_type.h │ ├── collector │ │ ├── concurrent_copying.cc │ │ ├── concurrent_copying.h │ │ ├── garbage_collector.cc │ │ ├── garbage_collector.h │ │ ├── gc_type.h │ │ ├── immune_region.cc │ │ ├── immune_region.h │ │ ├── mark_compact.cc │ │ ├── mark_compact.h │ │ ├── mark_sweep-inl.h │ │ ├── mark_sweep.cc │ │ ├── mark_sweep.h │ │ ├── partial_mark_sweep.cc │ │ ├── partial_mark_sweep.h │ │ ├── semi_space-inl.h │ │ ├── semi_space.cc │ │ ├── semi_space.h │ │ ├── sticky_mark_sweep.cc │ │ └── sticky_mark_sweep.h │ ├── collector_type.h │ ├── gc_cause.cc │ ├── gc_cause.h │ ├── heap-inl.h │ ├── heap.cc │ ├── heap.h │ ├── heap_test.cc │ ├── reference_processor-inl.h │ ├── reference_processor.cc │ ├── reference_processor.h │ ├── reference_queue.cc │ ├── reference_queue.h │ ├── reference_queue_test.cc │ ├── space │ │ ├── bump_pointer_space-inl.h │ │ ├── bump_pointer_space.cc │ │ ├── bump_pointer_space.h │ │ ├── dlmalloc_space-inl.h │ │ ├── dlmalloc_space.cc │ │ ├── dlmalloc_space.h │ │ ├── dlmalloc_space_base_test.cc │ │ ├── dlmalloc_space_random_test.cc │ │ ├── dlmalloc_space_static_test.cc │ │ ├── image_space.cc │ │ ├── image_space.h │ │ ├── large_object_space.cc │ │ ├── large_object_space.h │ │ ├── large_object_space_test.cc │ │ ├── malloc_space.cc │ │ ├── malloc_space.h │ │ ├── region_space-inl.h │ │ ├── region_space.cc │ │ ├── region_space.h │ │ ├── rosalloc_space-inl.h │ │ ├── rosalloc_space.cc │ │ ├── rosalloc_space.h │ │ ├── rosalloc_space_base_test.cc │ │ ├── rosalloc_space_random_test.cc │ │ ├── rosalloc_space_static_test.cc │ │ ├── space-inl.h │ │ ├── space.cc │ │ ├── space.h │ │ ├── space_test.h │ │ ├── valgrind_malloc_space-inl.h │ │ ├── valgrind_malloc_space.h │ │ ├── valgrind_settings.h │ │ ├── zygote_space.cc │ │ └── zygote_space.h │ ├── task_processor.cc │ ├── task_processor.h │ └── task_processor_test.cc ├── gc_map.h ├── gc_root-inl.h ├── gc_root.h ├── globals.h ├── gtest_test.cc ├── handle.h ├── handle_scope-inl.h ├── handle_scope.h ├── handle_scope_test.cc ├── hprof │ ├── hprof.cc │ └── hprof.h ├── image.cc ├── image.h ├── indenter.h ├── indenter_test.cc ├── indirect_reference_table-inl.h ├── indirect_reference_table.cc ├── indirect_reference_table.h ├── indirect_reference_table_test.cc ├── instrumentation.cc ├── instrumentation.h ├── instrumentation_test.cc ├── intern_table.cc ├── intern_table.h ├── intern_table_test.cc ├── interpreter │ ├── interpreter.cc │ ├── interpreter.h │ ├── interpreter_common.cc │ ├── interpreter_common.h │ ├── interpreter_goto_table_impl.cc │ ├── interpreter_switch_impl.cc │ ├── safe_math.h │ ├── safe_math_test.cc │ ├── unstarted_runtime.cc │ ├── unstarted_runtime.h │ ├── unstarted_runtime_list.h │ └── unstarted_runtime_test.cc ├── invoke_type.h ├── java_vm_ext.cc ├── java_vm_ext.h ├── java_vm_ext_test.cc ├── jdwp │ ├── README.txt │ ├── jdwp.h │ ├── jdwp_adb.cc │ ├── jdwp_bits.h │ ├── jdwp_constants.h │ ├── jdwp_event.cc │ ├── jdwp_event.h │ ├── jdwp_expand_buf.cc │ ├── jdwp_expand_buf.h │ ├── jdwp_handler.cc │ ├── jdwp_main.cc │ ├── jdwp_priv.h │ ├── jdwp_request.cc │ ├── jdwp_socket.cc │ ├── object_registry.cc │ └── object_registry.h ├── jit │ ├── jit.cc │ ├── jit.h │ ├── jit_code_cache.cc │ ├── jit_code_cache.h │ ├── jit_code_cache_test.cc │ ├── jit_instrumentation.cc │ └── jit_instrumentation.h ├── jni_env_ext-inl.h ├── jni_env_ext.cc ├── jni_env_ext.h ├── jni_internal.cc ├── jni_internal.h ├── jni_internal_test.cc ├── jobject_comparator.cc ├── jobject_comparator.h ├── jvalue.h ├── leb128.h ├── leb128_test.cc ├── linear_alloc.cc ├── linear_alloc.h ├── lock_word-inl.h ├── lock_word.h ├── mapping_table.h ├── mem_map.cc ├── mem_map.h ├── mem_map_test.cc ├── memory_region.cc ├── memory_region.h ├── memory_region_test.cc ├── method_reference.h ├── mirror │ ├── abstract_method.cc │ ├── abstract_method.h │ ├── accessible_object.h │ ├── array-inl.h │ ├── array.cc │ ├── array.h │ ├── class-inl.h │ ├── class.cc │ ├── class.h │ ├── class_loader.h │ ├── dex_cache-inl.h │ ├── dex_cache.cc │ ├── dex_cache.h │ ├── dex_cache_test.cc │ ├── field-inl.h │ ├── field.cc │ ├── field.h │ ├── iftable-inl.h │ ├── iftable.h │ ├── method.cc │ ├── method.h │ ├── object-inl.h │ ├── object.cc │ ├── object.h │ ├── object_array-inl.h │ ├── object_array.h │ ├── object_reference.h │ ├── object_test.cc │ ├── proxy.h │ ├── reference-inl.h │ ├── reference.cc │ ├── reference.h │ ├── stack_trace_element.cc │ ├── stack_trace_element.h │ ├── string-inl.h │ ├── string.cc │ ├── string.h │ ├── throwable.cc │ └── throwable.h ├── modifiers.h ├── monitor.cc ├── monitor.h ├── monitor_android.cc ├── monitor_linux.cc ├── monitor_pool.cc ├── monitor_pool.h ├── monitor_pool_test.cc ├── monitor_test.cc ├── native │ ├── dalvik_system_DexFile.cc │ ├── dalvik_system_DexFile.h │ ├── dalvik_system_VMDebug.cc │ ├── dalvik_system_VMDebug.h │ ├── dalvik_system_VMRuntime.cc │ ├── dalvik_system_VMRuntime.h │ ├── dalvik_system_VMStack.cc │ ├── dalvik_system_VMStack.h │ ├── dalvik_system_ZygoteHooks.cc │ ├── dalvik_system_ZygoteHooks.h │ ├── java_lang_Class.cc │ ├── java_lang_Class.h │ ├── java_lang_DexCache.cc │ ├── java_lang_DexCache.h │ ├── java_lang_Object.cc │ ├── java_lang_Object.h │ ├── java_lang_Runtime.cc │ ├── java_lang_Runtime.h │ ├── java_lang_String.cc │ ├── java_lang_String.h │ ├── java_lang_StringFactory.cc │ ├── java_lang_StringFactory.h │ ├── java_lang_System.cc │ ├── java_lang_System.h │ ├── java_lang_Thread.cc │ ├── java_lang_Thread.h │ ├── java_lang_Throwable.cc │ ├── java_lang_Throwable.h │ ├── java_lang_VMClassLoader.cc │ ├── java_lang_VMClassLoader.h │ ├── java_lang_ref_FinalizerReference.cc │ ├── java_lang_ref_FinalizerReference.h │ ├── java_lang_ref_Reference.cc │ ├── java_lang_ref_Reference.h │ ├── java_lang_reflect_Array.cc │ ├── java_lang_reflect_Array.h │ ├── java_lang_reflect_Constructor.cc │ ├── java_lang_reflect_Constructor.h │ ├── java_lang_reflect_Field.cc │ ├── java_lang_reflect_Field.h │ ├── java_lang_reflect_Method.cc │ ├── java_lang_reflect_Method.h │ ├── java_lang_reflect_Proxy.cc │ ├── java_lang_reflect_Proxy.h │ ├── java_util_concurrent_atomic_AtomicLong.cc │ ├── java_util_concurrent_atomic_AtomicLong.h │ ├── libcore_util_CharsetUtils.cc │ ├── libcore_util_CharsetUtils.h │ ├── org_apache_harmony_dalvik_ddmc_DdmServer.cc │ ├── org_apache_harmony_dalvik_ddmc_DdmServer.h │ ├── org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc │ ├── org_apache_harmony_dalvik_ddmc_DdmVmInternal.h │ ├── scoped_fast_native_object_access.h │ ├── sun_misc_Unsafe.cc │ └── sun_misc_Unsafe.h ├── native_bridge_art_interface.cc ├── native_bridge_art_interface.h ├── noop_compiler_callbacks.h ├── nth_caller_visitor.h ├── oat.cc ├── oat.h ├── oat_file-inl.h ├── oat_file.cc ├── oat_file.h ├── oat_file_assistant.cc ├── oat_file_assistant.h ├── oat_file_assistant_test.cc ├── oat_file_test.cc ├── object_callbacks.h ├── object_lock.cc ├── object_lock.h ├── offsets.cc ├── offsets.h ├── os.h ├── os_linux.cc ├── parsed_options.cc ├── parsed_options.h ├── parsed_options_test.cc ├── prebuilt_tools_test.cc ├── primitive.cc ├── primitive.h ├── profiler.cc ├── profiler.h ├── profiler_options.h ├── proxy_test.cc ├── quick │ ├── inline_method_analyser.cc │ ├── inline_method_analyser.h │ └── quick_method_frame_info.h ├── quick_exception_handler.cc ├── quick_exception_handler.h ├── read_barrier-inl.h ├── read_barrier.h ├── read_barrier_c.h ├── read_barrier_option.h ├── reference_table.cc ├── reference_table.h ├── reference_table_test.cc ├── reflection-inl.h ├── reflection.cc ├── reflection.h ├── reflection_test.cc ├── runtime-inl.h ├── runtime.cc ├── runtime.h ├── runtime_android.cc ├── runtime_linux.cc ├── runtime_options.cc ├── runtime_options.def ├── runtime_options.h ├── runtime_stats.h ├── safe_map.h ├── scoped_thread_state_change.h ├── signal_catcher.cc ├── signal_catcher.h ├── signal_set.h ├── stack.cc ├── stack.h ├── stack_map.cc ├── stack_map.h ├── stride_iterator.h ├── thread-inl.h ├── thread.cc ├── thread.h ├── thread_android.cc ├── thread_linux.cc ├── thread_list.cc ├── thread_list.h ├── thread_pool.cc ├── thread_pool.h ├── thread_pool_test.cc ├── thread_state.h ├── trace.cc ├── trace.h ├── transaction.cc ├── transaction.h ├── transaction_test.cc ├── utf-inl.h ├── utf.cc ├── utf.h ├── utf_test.cc ├── utils.cc ├── utils.h ├── utils_test.cc ├── verifier │ ├── dex_gc_map.cc │ ├── dex_gc_map.h │ ├── instruction_flags.cc │ ├── instruction_flags.h │ ├── method_verifier-inl.h │ ├── method_verifier.cc │ ├── method_verifier.h │ ├── method_verifier_test.cc │ ├── reg_type-inl.h │ ├── reg_type.cc │ ├── reg_type.h │ ├── reg_type_cache-inl.h │ ├── reg_type_cache.cc │ ├── reg_type_cache.h │ ├── reg_type_test.cc │ ├── register_line-inl.h │ ├── register_line.cc │ └── register_line.h ├── verify_object-inl.h ├── verify_object.h ├── vmap_table.h ├── well_known_classes.cc ├── well_known_classes.h ├── zip_archive.cc ├── zip_archive.h └── zip_archive_test.cc ├── sigchainlib ├── Android.mk ├── sigchain.cc ├── sigchain.h ├── sigchain_dummy.cc └── version-script.txt ├── test ├── 000-nop │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run ├── 001-HelloWorld │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 001-Main │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 002-sleep │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 003-omnibus-opcodes │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── src │ │ ├── Array.java │ │ ├── Classes.java │ │ ├── Compare.java │ │ ├── FloatMath.java │ │ ├── GenSelect.java │ │ ├── Goto.java │ │ ├── InstField.java │ │ ├── IntMath.java │ │ ├── InternedString.java │ │ ├── Main.java │ │ ├── MethodCall.java │ │ ├── Monitor.java │ │ ├── StaticField.java │ │ ├── Switch.java │ │ ├── Throw.java │ │ ├── UnresClass.java │ │ ├── UnresClassSubclass.java │ │ ├── UnresStuff.java │ │ ├── UnresTest1.java │ │ └── UnresTest2.java │ └── src2 │ │ └── UnresStuff.java ├── 004-InterfaceTest │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 004-JniTest │ ├── expected.txt │ ├── info.txt │ ├── jni_test.cc │ └── src │ │ └── Main.java ├── 004-NativeAllocations │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 004-ReferenceMap │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── src │ │ └── Main.java │ └── stack_walk_refmap_jni.cc ├── 004-SignalTest │ ├── expected.txt │ ├── info.txt │ ├── signaltest.cc │ └── src │ │ └── Main.java ├── 004-StackWalk │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── src │ │ └── Main.java │ └── stack_walk_jni.cc ├── 004-ThreadStress │ ├── check │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 004-UnsafeTest │ ├── expected.txt │ ├── info.txt │ ├── src │ │ └── Main.java │ └── unsafe_test.cc ├── 005-annotations │ ├── build │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── android │ │ └── test │ │ ├── AnnoSimplePackage1.java │ │ ├── anno │ │ ├── AnnoArrayField.java │ │ ├── AnnoFancyConstructor.java │ │ ├── AnnoFancyField.java │ │ ├── AnnoFancyMethod.java │ │ ├── AnnoFancyParameter.java │ │ ├── AnnoFancyType.java │ │ ├── AnnoSimpleConstructor.java │ │ ├── AnnoSimpleField.java │ │ ├── AnnoSimpleLocalVariable.java │ │ ├── AnnoSimpleMethod.java │ │ ├── AnnoSimplePackage.java │ │ ├── AnnoSimpleParameter.java │ │ ├── AnnoSimpleType.java │ │ ├── AnnoSimpleType2.java │ │ ├── AnnoSimpleTypeInvis.java │ │ ├── ClassWithInnerAnnotationClass.java │ │ ├── ExportedProperty.java │ │ ├── FullyNoted.java │ │ ├── INoted.java │ │ ├── IntToString.java │ │ ├── MissingAnnotation.java │ │ ├── SimplyNoted.java │ │ ├── SomeClass.java │ │ ├── SubNoted.java │ │ ├── TestAnnotations.java │ │ └── package-info.java │ │ └── package-info.java ├── 006-args │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── ArgsTest.java │ │ └── Main.java ├── 007-count10 │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 008-exceptions │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 009-instanceof │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Iface1.java │ │ ├── Iface2.java │ │ ├── Iface2Sub1.java │ │ ├── ImplA.java │ │ ├── ImplB.java │ │ ├── ImplBSub.java │ │ └── Main.java ├── 010-instance │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── InstanceTest.java │ │ ├── Main.java │ │ ├── X.java │ │ └── Y.java ├── 011-array-copy │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Iface1.java │ │ ├── Iface2.java │ │ ├── ImplA.java │ │ └── Main.java ├── 012-math │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 013-math2 │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 014-math3 │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 015-switch │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 016-intern │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 017-float │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 018-stack-overflow │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ └── Main.java ├── 019-wrong-array-type │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 020-string │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 021-string2 │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── junit │ │ └── framework │ │ ├── Assert.java │ │ ├── AssertionFailedError.java │ │ ├── ComparisonCompactor.java │ │ └── ComparisonFailure.java ├── 022-interface │ ├── build │ ├── classes │ │ ├── Iface1.class │ │ ├── Iface2.class │ │ ├── Iface2Sub1.class │ │ ├── ImplA.class │ │ ├── ImplB.class │ │ ├── ImplBSub.class │ │ ├── Main$1.class │ │ ├── Main$SubInterface.class │ │ ├── Main$SubInterfaceImpl.class │ │ ├── Main.class │ │ ├── ObjectOverridingInterface.class │ │ └── SubObjectOverridingInterface.class │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Iface1.java │ │ ├── Iface2.java │ │ ├── Iface2Sub1.java │ │ ├── ImplA.java │ │ ├── ImplB.java │ │ ├── ImplBSub.java │ │ ├── Main.java │ │ ├── ObjectOverridingInterface.java │ │ └── SubObjectOverridingInterface.java ├── 023-many-interfaces │ ├── build │ ├── expected.txt │ ├── iface-gen.c │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── ManyInterfaces.java ├── 024-illegal-access │ ├── expected.txt │ ├── info.txt │ ├── src │ │ ├── CheckInstanceof.java │ │ ├── Main.java │ │ ├── PublicAccess.java │ │ ├── SemiPrivate.java │ │ └── otherpkg │ │ │ └── Package.java │ └── src2 │ │ ├── SemiPrivate.java │ │ └── otherpkg │ │ └── Package.java ├── 025-access-controller │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── Privvy.java ├── 026-access │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Iface.java │ │ ├── Iface2.java │ │ ├── Main.java │ │ ├── Unrelated.java │ │ └── otherpackage │ │ └── PublicAccess.java ├── 027-arithmetic │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 028-array-write │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 029-assert │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 030-bad-finalizer │ ├── check │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 031-class-attributes │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── ClassAttrs.java │ │ ├── FancyClass.java │ │ ├── Main.java │ │ ├── OtherClass.java │ │ └── otherpackage │ │ └── OtherPackageClass.java ├── 032-concrete-sub │ ├── expected.txt │ ├── info.txt │ ├── src │ │ ├── AbstractBase.java │ │ ├── ConcreteSub.java │ │ ├── ConcreteSub2.java │ │ └── Main.java │ └── src2 │ │ └── AbstractBase.java ├── 033-class-init-deadlock │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 034-call-null │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 035-enum │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 036-finalizer │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 037-inherit │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 038-inner-null │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 039-join-main │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 040-miranda │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ ├── MirandaAbstract.java │ │ ├── MirandaClass.java │ │ ├── MirandaClass2.java │ │ ├── MirandaInterface.java │ │ └── MirandaInterface2.java ├── 041-narrowing │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 042-new-instance │ ├── expected.txt │ ├── info.txt │ ├── src │ │ ├── Main.java │ │ ├── MaybeAbstract.java │ │ └── otherpackage │ │ │ └── PackageAccess.java │ └── src2 │ │ └── MaybeAbstract.java ├── 043-privates │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 044-proxy │ ├── expected.txt │ ├── info.txt │ ├── native_proxy.cc │ └── src │ │ ├── BasicTest.java │ │ ├── Clash.java │ │ ├── Clash2.java │ │ ├── Clash3.java │ │ ├── Clash4.java │ │ ├── FloatSelect.java │ │ ├── Main.java │ │ ├── NarrowingTest.java │ │ ├── NativeProxy.java │ │ ├── ReturnsAndArgPassing.java │ │ └── WrappedThrow.java ├── 045-reflect-array │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 046-reflect │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── otherpackage │ │ └── Other.java ├── 047-returns │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 049-show-object │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 050-sync-test │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── ThreadDeathHandler.java ├── 051-thread │ ├── expected.txt │ ├── info.txt │ ├── src │ │ └── Main.java │ └── thread_test.cc ├── 052-verifier-fun │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Blah.java │ │ ├── BlahFeature.java │ │ ├── BlahOne.java │ │ ├── BlahTwo.java │ │ └── Main.java ├── 053-wait-some │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 054-uncaught │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── ThreadDeathHandler.java ├── 055-enum-performance │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ ├── Main.java │ │ ├── SamePackagePrivateEnum.java │ │ ├── SamePackagePublicEnum.java │ │ └── otherpackage │ │ └── OtherPackagePublicEnum.java ├── 056-const-string-jumbo │ ├── build │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 058-enum-order │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 059-finalizer-throw │ ├── check │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 061-out-of-memory │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 062-character-encodings │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 063-process-manager │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 064-field-access │ ├── expected.txt │ ├── info.txt │ ├── src │ │ ├── GetNonexistent.java │ │ ├── Holder.java │ │ ├── Main.java │ │ └── other │ │ │ ├── ProtectedClass.java │ │ │ └── PublicClass.java │ └── src2 │ │ └── Holder.java ├── 065-mismatched-implements │ ├── expected.txt │ ├── info.txt │ ├── src │ │ ├── Base.java │ │ ├── Defs.java │ │ ├── Indirect.java │ │ └── Main.java │ └── src2 │ │ └── Defs.java ├── 066-mismatched-super │ ├── expected.txt │ ├── info.txt │ ├── src │ │ ├── Base.java │ │ ├── Defs.java │ │ ├── Indirect.java │ │ └── Main.java │ └── src2 │ │ └── Defs.java ├── 067-preemptive-unpark │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 068-classloader │ ├── expected.txt │ ├── info.txt │ ├── src-ex │ │ ├── AbstractGet.java │ │ ├── DoubledExtend.java │ │ ├── DoubledExtendOkay.java │ │ ├── DoubledImplement.java │ │ ├── DoubledImplement2.java │ │ ├── GetDoubled.java │ │ ├── IfaceImpl.java │ │ ├── IfaceSub.java │ │ ├── Inaccessible1.java │ │ ├── Inaccessible2.java │ │ ├── Inaccessible3.java │ │ ├── MutationTarget.java │ │ └── Mutator.java │ └── src │ │ ├── Base.java │ │ ├── BaseOkay.java │ │ ├── DoubledExtend.java │ │ ├── DoubledExtendOkay.java │ │ ├── DoubledImplement.java │ │ ├── DoubledImplement2.java │ │ ├── FancyLoader.java │ │ ├── ICommon.java │ │ ├── ICommon2.java │ │ ├── IGetDoubled.java │ │ ├── IfaceSuper.java │ │ ├── InaccessibleBase.java │ │ ├── InaccessibleInterface.java │ │ ├── Main.java │ │ ├── SimpleBase.java │ │ └── Useless.java ├── 069-field-type │ ├── expected.txt │ ├── info.txt │ ├── src │ │ ├── Blah.java │ │ ├── Holder.java │ │ └── Main.java │ └── src2 │ │ └── Blah.java ├── 070-nio-buffer │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 071-dexfile │ ├── expected.txt │ ├── info.txt │ ├── src-ex │ │ └── Another.java │ └── src │ │ └── Main.java ├── 072-precise-gc │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 073-mismatched-field │ ├── expected.txt │ ├── info.txt │ ├── src │ │ ├── IMain.java │ │ ├── Main.java │ │ └── SuperMain.java │ └── src2 │ │ └── IMain.java ├── 074-gc-thrash │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 075-verification-error │ ├── expected.txt │ ├── info.txt │ ├── src │ │ ├── Main.java │ │ ├── MaybeAbstract.java │ │ └── other │ │ │ ├── InaccessibleClass.java │ │ │ ├── InaccessibleMethod.java │ │ │ └── Mutant.java │ └── src2 │ │ ├── MaybeAbstract.java │ │ └── other │ │ ├── InaccessibleClass.java │ │ ├── InaccessibleMethod.java │ │ └── Mutant.java ├── 076-boolean-put │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 077-method-override │ ├── expected.txt │ ├── info.txt │ ├── src │ │ ├── Base.java │ │ ├── Derived.java │ │ └── Main.java │ └── src2 │ │ └── Base.java ├── 078-polymorphic-virtual │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Base.java │ │ ├── Derived1.java │ │ ├── Derived2.java │ │ ├── Derived3.java │ │ └── Main.java ├── 079-phantom │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Bitmap.java │ │ └── Main.java ├── 080-oom-throw-with-finalizer │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 080-oom-throw │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 081-hot-exceptions │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 082-inline-execute │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── junit │ │ └── framework │ │ ├── Assert.java │ │ ├── AssertionFailedError.java │ │ ├── ComparisonCompactor.java │ │ └── ComparisonFailure.java ├── 083-compiler-regressions │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── ZeroTests.java ├── 084-class-init │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Exploder.java │ │ ├── IntHolder.java │ │ ├── Main.java │ │ ├── PartialInit.java │ │ └── SlowInit.java ├── 085-old-style-inner-class │ ├── build │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 086-null-super │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 087-gc-after-link │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 088-monitor-verification │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ ├── MyException.java │ │ └── TooDeep.java ├── 089-many-methods │ ├── build │ ├── check │ ├── expected.txt │ └── info.txt ├── 090-loop-formation │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 092-locale │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 093-serialization │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 094-pattern │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 095-switch-MAX_INT │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 096-array-copy-concurrent-gc │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 097-duplicate-method │ ├── build │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ ├── Test.j │ │ └── Test.java ├── 098-ddmc │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 099-vmdebug │ ├── check │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 100-reflect2 │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── sub │ │ └── PPClass.java ├── 101-fibonacci │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 102-concurrent-gc │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 103-string-append │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ └── Main.java ├── 104-growth-limit │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 105-invoke │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 106-exceptions2 │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 107-int-math2 │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 108-check-cast │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 109-suspend-check │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 110-field-access │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 111-unresolvable-exception │ ├── build │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── TestException.java ├── 112-double-math │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 113-multidex │ ├── build │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── FillerA.java │ │ ├── FillerB.java │ │ ├── Inf1.java │ │ ├── Inf2.java │ │ ├── Inf3.java │ │ ├── Inf4.java │ │ ├── Inf5.java │ │ ├── Inf6.java │ │ ├── Inf7.java │ │ ├── Inf8.java │ │ ├── Main.java │ │ └── Second.java ├── 114-ParallelGC │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 115-native-bridge │ ├── expected.txt │ ├── info.txt │ ├── nativebridge.cc │ ├── run │ └── src │ │ └── NativeBridgeMain.java ├── 116-nodex2oat │ ├── expected.txt │ ├── info.txt │ ├── nodex2oat.cc │ ├── run │ └── src │ │ └── Main.java ├── 117-nopatchoat │ ├── expected.txt │ ├── info.txt │ ├── nopatchoat.cc │ ├── run │ └── src │ │ └── Main.java ├── 118-noimage-dex2oat │ ├── check │ ├── expected.txt │ ├── info.txt │ ├── noimage-dex2oat.cc │ ├── run │ ├── smali │ │ └── b_18485243.smali │ └── src │ │ └── Main.java ├── 119-noimage-patchoat │ ├── check │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ └── Main.java ├── 120-hashcode │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 121-modifiers │ ├── build │ ├── classes │ │ ├── A$B.class │ │ ├── A$C.class │ │ ├── A.class │ │ ├── Inf.class │ │ ├── Main.class │ │ └── NonInf.class │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Asm.java │ │ ├── Inf.java │ │ ├── Main.java │ │ └── NonInf.java ├── 121-simple-suspend-check │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 122-npe │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 123-compiler-regressions-mt │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 124-missing-classes │ ├── build │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── MissingClass.java ├── 125-gc-and-classloading │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 126-miranda-multidex │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ ├── Main.java │ │ ├── MirandaAbstract.java │ │ ├── MirandaClass.java │ │ ├── MirandaClass2.java │ │ ├── MirandaInterface.java │ │ └── MirandaInterface2.java ├── 127-secondarydex │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ ├── Main.java │ │ ├── Super.java │ │ └── Test.java ├── 128-reg-spilling-on-implicit-nullcheck │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 129-ThreadGetId │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 130-hprof │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 131-structural-change │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── run │ ├── src-ex │ │ ├── A.java │ │ └── B.java │ └── src │ │ ├── A.java │ │ └── Main.java ├── 132-daemon-locks-shutdown │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 133-static-invoke-super │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ └── Main.java ├── 134-nodex2oat-nofallback │ ├── check │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ └── Main.java ├── 134-reg-promotion │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── Test.smali │ └── src │ │ └── Main.java ├── 135-MirandaDispatch │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 137-cfi │ ├── cfi.cc │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ └── Main.java ├── 138-duplicate-classes-check │ ├── expected.txt │ ├── info.txt │ ├── src-ex │ │ ├── A.java │ │ └── TestEx.java │ └── src │ │ ├── A.java │ │ ├── FancyLoader.java │ │ └── Main.java ├── 138-duplicate-classes-check2 │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── run │ ├── src-ex │ │ ├── A.java │ │ └── TestEx.java │ └── src │ │ ├── A.java │ │ ├── FancyLoader.java │ │ └── Main.java ├── 139-register-natives │ ├── check │ ├── expected.txt │ ├── info.txt │ ├── regnative.cc │ └── src │ │ └── Main.java ├── 140-dce-regression │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 201-built-in-exception-detail-messages │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 202-thread-oome │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 300-package-override │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ ├── p1 │ │ └── BaseClass.java │ │ └── p2 │ │ └── DerivedClass.java ├── 301-abstract-protected │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 302-float-conversion │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 303-verification-stress │ ├── build │ ├── classes-gen.c │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 304-method-tracing │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ └── Main.java ├── 401-optimizing-compiler │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 402-optimizing-control-flow │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 403-optimizing-long │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 404-optimizing-allocator │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 405-optimizing-long-allocator │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 406-fields │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── TestCase.java ├── 407-arrays │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── TestCase.java ├── 408-move-bug │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 409-materialized-condition │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 410-floats │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 411-optimizing-arith │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 412-new-array │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ ├── fill_array_data.smali │ │ ├── filled_new_array.smali │ │ └── filled_new_array_verify_error.smali │ └── src │ │ ├── Main.java │ │ └── TestCase.java ├── 413-regalloc-regression │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 414-optimizing-arith-sub │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 414-static-fields │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ ├── Other.java │ │ ├── OtherWithClinit.java │ │ └── TestCase.java ├── 415-optimizing-arith-neg │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 416-optimizing-arith-not │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── not.smali │ └── src │ │ └── Main.java ├── 417-optimizing-arith-div │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 418-const-string │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 419-long-parameter │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 420-const-class │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 421-exceptions │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 421-large-frame │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 422-instanceof │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 422-type-conversion │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 423-invoke-interface │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 424-checkcast │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 425-invoke-super │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ ├── invokesuper.smali │ │ ├── subclass.smali │ │ └── superclass.smali │ └── src │ │ └── Main.java ├── 426-monitor │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 427-bitwise │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 427-bounds │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 428-optimizing-arith-rem │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 429-ssa-builder │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 430-live-register-slow-path │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 431-optimizing-arith-shifts │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 431-type-propagation │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── TypePropagation.smali │ └── src │ │ └── Main.java ├── 432-optimizing-cmp │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── cmp.smali │ └── src │ │ └── Main.java ├── 433-gvn │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 434-invoke-direct │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── invoke.smali │ └── src │ │ ├── InvokeDirectSuper.java │ │ └── Main.java ├── 434-shifter-operand │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 435-new-instance │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── instance.smali │ └── src │ │ ├── Main.java │ │ ├── TestClass.java │ │ ├── TestInterface.java │ │ └── pkg │ │ └── ProtectedClass.java ├── 435-try-finally-without-catch │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 436-rem-float │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 436-shift-constant │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 437-inline │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 438-volatile │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 439-npe │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 439-swap-double │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 440-stmp │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 441-checker-inliner │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 442-checker-constant-folding │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 443-not-bool-inline │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 444-checker-nce │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 445-checker-licm │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 446-checker-inliner2 │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 447-checker-inliner3 │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 448-multiple-returns │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── MultipleReturns.smali │ └── src │ │ └── Main.java ├── 449-checker-bce │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 450-checker-types │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 451-regression-add-float │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 451-spill-splot │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 452-multiple-returns2 │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── MultipleReturns.smali │ └── src │ │ └── Main.java ├── 453-not-byte │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── NotByte.smali │ └── src │ │ └── Main.java ├── 454-get-vreg │ ├── build │ ├── expected.txt │ ├── get_vreg_jni.cc │ ├── info.txt │ └── src │ │ └── Main.java ├── 455-checker-gvn │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 455-set-vreg │ ├── expected.txt │ ├── info.txt │ ├── set_vreg_jni.cc │ └── src │ │ └── Main.java ├── 456-baseline-array-set │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 457-regs │ ├── expected.txt │ ├── info.txt │ ├── regs_jni.cc │ ├── smali │ │ └── PhiLiveness.smali │ └── src │ │ └── Main.java ├── 458-checker-instruction-simplification │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 458-long-to-fpu │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 459-dead-phi │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── EquivalentPhi.smali │ └── src │ │ └── Main.java ├── 460-multiple-returns3 │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── MultipleReturns.smali │ └── src │ │ └── Main.java ├── 461-get-reference-vreg │ ├── expected.txt │ ├── get_reference_vreg_jni.cc │ ├── info.txt │ └── src │ │ └── Main.java ├── 462-checker-inlining-across-dex-files │ ├── expected.txt │ ├── info.txt │ ├── src-multidex │ │ └── OtherDex.java │ └── src │ │ └── Main.java ├── 463-checker-boolean-simplifier │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 464-checker-inline-sharpen-calls │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 465-checker-clinit-gvn │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 466-get-live-vreg │ ├── expected.txt │ ├── get_live_vreg_jni.cc │ ├── info.txt │ └── src │ │ └── Main.java ├── 467-regalloc-pair │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── TestCase.smali │ └── src │ │ └── Main.java ├── 468-checker-bool-simplifier-regression │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── TestCase.smali │ └── src │ │ └── Main.java ├── 469-condition-materialization-regression │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 470-huge-method │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 471-deopt-environment │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 471-uninitialized-locals │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── Test.smali │ └── src │ │ └── Main.java ├── 472-type-propagation │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 472-unreachable-if-regression │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── Test.smali │ └── src │ │ └── Main.java ├── 473-checker-inliner-constants │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 473-remove-dead-block │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 474-checker-boolean-input │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 474-fp-sub-neg │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 475-regression-inliner-ids │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── TestCase.smali │ └── src │ │ └── Main.java ├── 475-simplify-mul-zero │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 476-checker-ctor-memory-barrier │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 476-clinit-check-inlining-static-invoke │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 477-checker-bound-type │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 477-long-to-float-conversion-precision │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 478-checker-clinit-check-pruning │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 478-checker-inliner-nested-loop │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 479-regression-implicit-null-check │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 480-checker-dead-blocks │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 481-regression-phi-cond │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 482-checker-loop-back-edge-use │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 483-dce-block │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 484-checker-register-hints │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 485-checker-dce-loop-update │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── TestCase.smali │ └── src │ │ └── Main.java ├── 492-checker-inline-invoke-interface │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 498-type-propagation │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── TypePropagation.smali │ └── src │ │ └── Main.java ├── 499-bce-phi-array-length │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 501-null-constant-dce │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── DCE.smali │ └── src │ │ └── Main.java ├── 501-regression-packed-switch │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── Test.smali │ └── src │ │ └── Main.java ├── 503-dead-instructions │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── DeadInstructions.smali │ └── src │ │ └── Main.java ├── 504-regression-baseline-entry │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── Test.smali │ └── src │ │ └── Main.java ├── 505-simplifier-type-propagation │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 506-verify-aput │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ ├── VerifyAPut1.smali │ │ └── VerifyAPut2.smali │ └── src │ │ └── Main.java ├── 507-boolean-test │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 507-referrer │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── p1 │ │ └── InPackage.java ├── 508-referrer-method │ ├── expected.txt │ ├── info.txt │ └── src │ │ ├── Main.java │ │ └── p1 │ │ ├── InPackage.java │ │ ├── PackagePrivateA.java │ │ ├── PublicB.java │ │ └── PublicC.java ├── 509-pre-header │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── PreHeader.smali │ └── src │ │ └── Main.java ├── 511-clinit-interface │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── BogusInterface.smali │ └── src │ │ └── Main.java ├── 513-array-deopt │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 514-shifts │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 515-dce-dominator │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── Dominator.smali │ └── src │ │ └── Main.java ├── 516-dead-move-result │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── MoveResult.smali │ └── src │ │ └── Main.java ├── 518-null-array-get │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── NullArray.smali │ └── src │ │ └── Main.java ├── 519-bound-load-class │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 520-equivalent-phi │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── Equivalent.smali │ └── src │ │ └── Main.java ├── 524-boolean-simplifier-regression │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 528-long-hint │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 529-checker-rtp-bug │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 700-LoadArgRegs │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 701-easy-div-rem │ ├── expected.txt │ ├── genMain.py │ ├── info.txt │ └── src │ │ └── Main.java ├── 702-LargeBranchOffset │ ├── build │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java.in ├── 703-floating-point-div │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 704-multiply-accumulate │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 705-register-conflict │ ├── expected.txt │ ├── info.txt │ └── src │ │ └── Main.java ├── 800-smali │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ ├── BadCaseInOpRegRegReg.smali │ │ ├── CmpLong.smali │ │ ├── EmptySparseSwitch.smali │ │ ├── FloatBadArgReg.smali │ │ ├── FloatIntConstPassing.smali │ │ ├── PackedSwitch.smali │ │ ├── b_17790197.smali │ │ ├── b_17978759.smali │ │ ├── b_18380491AbstractBase.smali │ │ ├── b_18380491ConcreteClass.smali │ │ ├── b_18718277.smali │ │ ├── b_18800943_1.smali │ │ ├── b_18800943_2.smali │ │ ├── b_20224106.smali │ │ ├── b_20843113.smali │ │ ├── b_21614284.smali │ │ ├── b_21645819.smali │ │ ├── b_21863767.smali │ │ ├── b_21873167.smali │ │ ├── b_21886894.smali │ │ ├── b_21902684.smali │ │ ├── b_22080519.smali │ │ ├── b_22244733.smali │ │ ├── b_22331663.smali │ │ ├── b_22331663_fail.smali │ │ ├── b_22331663_pass.smali │ │ ├── b_22881413.smali │ │ ├── b_23201502.smali │ │ ├── move_exc.smali │ │ ├── move_exception_on_entry.smali │ │ ├── negLong.smali │ │ └── sameFieldNames.smali │ └── src │ │ ├── Main.java │ │ └── pkg │ │ └── ProtectedClass.java ├── 801-VoidCheckCast │ ├── classes.dex │ ├── expected.txt │ └── info.txt ├── 802-deoptimization │ ├── expected.txt │ ├── info.txt │ ├── smali │ │ └── catch_handler_on_entry.smali │ └── src │ │ ├── CatchHandlerOnEntryHelper.java │ │ ├── DeoptimizationController.java │ │ └── Main.java ├── AbstractMethod │ └── AbstractClass.java ├── AllFields │ └── AllFields.java ├── Android.libarttest.mk ├── Android.libnativebridgetest.mk ├── Android.run-test.mk ├── ExceptionHandle │ └── ExceptionHandle.java ├── GetMethodSignature │ └── GetMethodSignature.java ├── Instrumentation │ └── Instrumentation.java ├── Interfaces │ └── Interfaces.java ├── Main │ └── Main.java ├── MultiDex │ ├── Main.java │ ├── Second.java │ ├── main.jpp │ └── main.list ├── MultiDexModifiedSecondary │ ├── Main.java │ ├── README.txt │ ├── Second.java │ ├── main.jpp │ └── main.list ├── MyClass │ └── MyClass.java ├── MyClassNatives │ └── MyClassNatives.java ├── Nested │ └── Nested.java ├── NonStaticLeafMethods │ └── NonStaticLeafMethods.java ├── ProtoCompare │ └── ProtoCompare.java ├── ProtoCompare2 │ └── ProtoCompare2.java ├── README.txt ├── StackWalk2 │ └── StackWalk2.java ├── StaticLeafMethods │ └── StaticLeafMethods.java ├── Statics │ └── Statics.java ├── StaticsFromCode │ └── StaticsFromCode.java ├── Transaction │ ├── InstanceFieldsTest.java │ ├── StaticArrayFieldsTest.java │ ├── StaticFieldsTest.java │ └── Transaction.java ├── XandY │ ├── X.java │ └── Y.java ├── etc │ ├── default-build │ ├── default-check │ ├── default-run │ └── run-test-jar ├── run-all-tests └── run-test └── tools ├── Android.mk ├── analyze-init-failures.py ├── art ├── checker.py ├── checker_test.py ├── cpplint.py ├── dexfuzz ├── Android.mk ├── README ├── dexfuzz ├── manifest.txt └── src │ └── dexfuzz │ ├── DexFuzz.java │ ├── ExecutionResult.java │ ├── Log.java │ ├── MutationStats.java │ ├── Options.java │ ├── StreamConsumer.java │ ├── Timer.java │ ├── executors │ ├── Architecture.java │ ├── Arm64InterpreterExecutor.java │ ├── Arm64OptimizingBackendExecutor.java │ ├── Arm64QuickBackendExecutor.java │ ├── ArmInterpreterExecutor.java │ ├── ArmOptimizingBackendExecutor.java │ ├── ArmQuickBackendExecutor.java │ ├── Device.java │ ├── Executor.java │ ├── Mips64InterpreterExecutor.java │ ├── Mips64OptimizingBackendExecutor.java │ ├── Mips64QuickBackendExecutor.java │ ├── MipsInterpreterExecutor.java │ ├── MipsOptimizingBackendExecutor.java │ ├── MipsQuickBackendExecutor.java │ ├── X86InterpreterExecutor.java │ ├── X86OptimizingBackendExecutor.java │ ├── X86QuickBackendExecutor.java │ ├── X86_64InterpreterExecutor.java │ ├── X86_64OptimizingBackendExecutor.java │ └── X86_64QuickBackendExecutor.java │ ├── fuzzers │ ├── Fuzzer.java │ ├── FuzzerMultiple.java │ ├── FuzzerMultipleExecute.java │ ├── FuzzerMultipleNoExecute.java │ ├── FuzzerSingle.java │ ├── FuzzerSingleExecute.java │ └── FuzzerSingleNoExecute.java │ ├── listeners │ ├── BaseListener.java │ ├── ConsoleLoggerListener.java │ ├── LogFileListener.java │ ├── MultiplexerListener.java │ ├── UniqueProgramTrackerListener.java │ └── UpdatingConsoleListener.java │ ├── program │ ├── CodeTranslator.java │ ├── IdCreator.java │ ├── MBranchInsn.java │ ├── MInsn.java │ ├── MInsnWithData.java │ ├── MSwitchInsn.java │ ├── MTryBlock.java │ ├── MutatableCode.java │ ├── Mutation.java │ ├── MutationSerializer.java │ ├── Program.java │ └── mutators │ │ ├── ArithOpChanger.java │ │ ├── BranchShifter.java │ │ ├── CmpBiasChanger.java │ │ ├── CodeMutator.java │ │ ├── ConstantValueChanger.java │ │ ├── ConversionRepeater.java │ │ ├── FieldFlagChanger.java │ │ ├── InstructionDeleter.java │ │ ├── InstructionDuplicator.java │ │ ├── InstructionSwapper.java │ │ ├── NewMethodCaller.java │ │ ├── NonsenseStringPrinter.java │ │ ├── PoolIndexChanger.java │ │ ├── RandomInstructionGenerator.java │ │ ├── SwitchBranchShifter.java │ │ ├── TryBlockShifter.java │ │ ├── VRegChanger.java │ │ └── ValuePrinter.java │ └── rawdex │ ├── AnnotationElement.java │ ├── AnnotationItem.java │ ├── AnnotationOffItem.java │ ├── AnnotationSetItem.java │ ├── AnnotationSetRefItem.java │ ├── AnnotationSetRefList.java │ ├── AnnotationsDirectoryItem.java │ ├── ClassDataItem.java │ ├── ClassDefItem.java │ ├── CodeItem.java │ ├── DebugInfoItem.java │ ├── DexRandomAccessFile.java │ ├── EncodedAnnotation.java │ ├── EncodedArray.java │ ├── EncodedArrayItem.java │ ├── EncodedCatchHandler.java │ ├── EncodedCatchHandlerList.java │ ├── EncodedField.java │ ├── EncodedMethod.java │ ├── EncodedTypeAddrPair.java │ ├── EncodedValue.java │ ├── FieldAnnotation.java │ ├── FieldIdItem.java │ ├── HeaderItem.java │ ├── Instruction.java │ ├── MapItem.java │ ├── MapList.java │ ├── MethodAnnotation.java │ ├── MethodIdItem.java │ ├── Offset.java │ ├── OffsetTracker.java │ ├── Offsettable.java │ ├── Opcode.java │ ├── OpcodeInfo.java │ ├── ParameterAnnotation.java │ ├── ProtoIdItem.java │ ├── RawDexFile.java │ ├── RawDexObject.java │ ├── StringDataItem.java │ ├── StringIdItem.java │ ├── TryItem.java │ ├── TypeIdItem.java │ ├── TypeItem.java │ ├── TypeList.java │ └── formats │ ├── AbstractFormat.java │ ├── ContainsConst.java │ ├── ContainsPoolIndex.java │ ├── ContainsTarget.java │ ├── ContainsVRegs.java │ ├── Format00x.java │ ├── Format1.java │ ├── Format10t.java │ ├── Format10x.java │ ├── Format11n.java │ ├── Format11x.java │ ├── Format12x.java │ ├── Format2.java │ ├── Format20bc.java │ ├── Format20t.java │ ├── Format21c.java │ ├── Format21h.java │ ├── Format21s.java │ ├── Format21t.java │ ├── Format22b.java │ ├── Format22c.java │ ├── Format22cs.java │ ├── Format22s.java │ ├── Format22t.java │ ├── Format22x.java │ ├── Format23x.java │ ├── Format3.java │ ├── Format30t.java │ ├── Format31c.java │ ├── Format31i.java │ ├── Format31t.java │ ├── Format32x.java │ ├── Format35c.java │ ├── Format35mi.java │ ├── Format35ms.java │ ├── Format3rc.java │ ├── Format3rmi.java │ ├── Format3rms.java │ ├── Format5.java │ ├── Format51l.java │ └── RawInsnHelper.java ├── generate-operator-out.py ├── libcore_failures.txt ├── run-jdwp-tests.sh ├── run-libcore-tests.sh ├── setup-buildbot-device.sh ├── stream-trace-converter.py └── symbolize.sh /.gitignore: -------------------------------------------------------------------------------- 1 | JIT_ART 2 | -------------------------------------------------------------------------------- /MODULE_LICENSE_APACHE2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/MODULE_LICENSE_APACHE2 -------------------------------------------------------------------------------- /runtime/base/unix_file/README: -------------------------------------------------------------------------------- 1 | A simple C++ wrapper for Unix file I/O. 2 | 3 | This is intended to be lightweight and easy to use, similar to Java's 4 | RandomAccessFile and related classes. The usual C++ idioms of RAII and "you 5 | don't pay for what you don't use" apply. 6 | 7 | In particular, the basic RandomAccessFile interface is kept small and simple so 8 | it's trivial to add new implementations. 9 | 10 | This code will not log, because it can't know whether that's appropriate in 11 | your application. 12 | 13 | This code will, in general, return -errno on failure. If an operation consisted 14 | of multiple sub-operations, it will return the errno corresponding to the most 15 | relevant operation. 16 | -------------------------------------------------------------------------------- /runtime/jdwp/README.txt: -------------------------------------------------------------------------------- 1 | Java Debug Wire Protocol support 2 | 3 | This is a reasonably complete implementation, but only messages that are 4 | actually generated by debuggers have been implemented. The reasoning 5 | behind this is that it's better to leave a call unimplemented than have 6 | something that appears implemented but has never been tested. 7 | 8 | An attempt has been made to keep the JDWP implementation distinct from the 9 | runtime, so that the code might be useful in other projects. Once you get 10 | multiple simultaneous events and debugger requests with thread suspension 11 | bouncing around, though, it's difficult to keep things "generic". 12 | -------------------------------------------------------------------------------- /sigchainlib/version-script.txt: -------------------------------------------------------------------------------- 1 | { 2 | global: 3 | ClaimSignalChain; 4 | UnclaimSignalChain; 5 | InvokeUserSignalHandler; 6 | InitializeSignalChain; 7 | EnsureFrontOfChain; 8 | SetSpecialSignalHandlerFn; 9 | sigaction; 10 | signal; 11 | sigprocmask; 12 | local: 13 | *; 14 | }; 15 | -------------------------------------------------------------------------------- /test/000-nop/build: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Nothing to do here. 4 | -------------------------------------------------------------------------------- /test/000-nop/expected.txt: -------------------------------------------------------------------------------- 1 | Blort. 2 | -------------------------------------------------------------------------------- /test/000-nop/info.txt: -------------------------------------------------------------------------------- 1 | This is a sample no-op test, which does at least serve to verify that the 2 | test harness is working. 3 | -------------------------------------------------------------------------------- /test/000-nop/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "Blort." 4 | -------------------------------------------------------------------------------- /test/001-HelloWorld/expected.txt: -------------------------------------------------------------------------------- 1 | Hello, world! 2 | -------------------------------------------------------------------------------- /test/001-HelloWorld/info.txt: -------------------------------------------------------------------------------- 1 | Imported from oat test. Print "Hello World." 2 | -------------------------------------------------------------------------------- /test/001-Main/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/001-Main/expected.txt -------------------------------------------------------------------------------- /test/001-Main/info.txt: -------------------------------------------------------------------------------- 1 | Import of a previous oat test. Empty main, just test starting up the runtime. 2 | -------------------------------------------------------------------------------- /test/002-sleep/expected.txt: -------------------------------------------------------------------------------- 1 | Sleeping 1000 msec... 2 | Done sleeping 3 | -------------------------------------------------------------------------------- /test/002-sleep/info.txt: -------------------------------------------------------------------------------- 1 | Test that Thread.sleep() operates reasonably. This test is actually 2 | mostly meant as an easy thing to modify in order to test other things 3 | in an ad-hoc way. 4 | -------------------------------------------------------------------------------- /test/002-sleep/src/Main.java: -------------------------------------------------------------------------------- 1 | public class Main { 2 | static public void main(String[] args) throws Exception { 3 | int millis = 1000; 4 | 5 | if (args.length != 0) { 6 | millis = Integer.parseInt(args[0]); 7 | } 8 | 9 | System.out.println("Sleeping " + millis + " msec..."); 10 | 11 | long start = System.currentTimeMillis(); 12 | Thread.sleep(millis); 13 | long elapsed = System.currentTimeMillis() - start; 14 | long offBy = Math.abs(elapsed - millis); 15 | 16 | System.out.println("Done sleeping"); 17 | 18 | if (offBy > 250) { 19 | System.out.println("Actually slept about " + elapsed + " msec..."); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/003-omnibus-opcodes/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of many Dalvik opcodes. 2 | -------------------------------------------------------------------------------- /test/003-omnibus-opcodes/src/UnresClass.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Unresolved class. 3 | * 4 | * "happy" version. 5 | */ 6 | 7 | public class UnresClass { 8 | int foo; 9 | } 10 | -------------------------------------------------------------------------------- /test/003-omnibus-opcodes/src/UnresClassSubclass.java: -------------------------------------------------------------------------------- 1 | public class UnresClassSubclass extends UnresClass { 2 | public UnresClassSubclass() { 3 | } 4 | } 5 | -------------------------------------------------------------------------------- /test/003-omnibus-opcodes/src/UnresStuff.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Unresolved classes / fields / methods in a resolved class. 3 | * 4 | * "happy" version. 5 | */ 6 | 7 | public class UnresStuff { 8 | public int instField; 9 | 10 | public static int staticField; 11 | 12 | public double wideInstField; 13 | public static double wideStaticField; 14 | 15 | public void virtualMethod() { 16 | System.out.println("unres!"); 17 | } 18 | 19 | public static void staticMethod() { 20 | System.out.println("unres!"); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/003-omnibus-opcodes/src2/UnresStuff.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Unresolved classes / fields / methods in a resolved class. 3 | * 4 | * "happy" version. 5 | */ 6 | 7 | public class UnresStuff { 8 | public int x; 9 | } 10 | -------------------------------------------------------------------------------- /test/004-InterfaceTest/expected.txt: -------------------------------------------------------------------------------- 1 | test_virtual done 2 | test_interface done 3 | -------------------------------------------------------------------------------- /test/004-InterfaceTest/info.txt: -------------------------------------------------------------------------------- 1 | Imported from oat tests. 2 | -------------------------------------------------------------------------------- /test/004-JniTest/info.txt: -------------------------------------------------------------------------------- 1 | Imported from oat tests. 2 | -------------------------------------------------------------------------------- /test/004-NativeAllocations/expected.txt: -------------------------------------------------------------------------------- 1 | Test complete 2 | -------------------------------------------------------------------------------- /test/004-NativeAllocations/info.txt: -------------------------------------------------------------------------------- 1 | Imported from oat tests. 2 | -------------------------------------------------------------------------------- /test/004-ReferenceMap/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/004-ReferenceMap/expected.txt -------------------------------------------------------------------------------- /test/004-ReferenceMap/info.txt: -------------------------------------------------------------------------------- 1 | Imported from oat tests. 2 | -------------------------------------------------------------------------------- /test/004-SignalTest/expected.txt: -------------------------------------------------------------------------------- 1 | init signal test 2 | Caught NullPointerException 3 | Caught StackOverflowError 4 | signal caught 5 | Signal test OK 6 | -------------------------------------------------------------------------------- /test/004-SignalTest/info.txt: -------------------------------------------------------------------------------- 1 | Imported from oat tests. 2 | -------------------------------------------------------------------------------- /test/004-StackWalk/expected.txt: -------------------------------------------------------------------------------- 1 | 1st call 2 | 172001234567891011121314151617181920652310201919 3 | 2nd call 4 | 172001234567891011121314151617181920652310201919 5 | -------------------------------------------------------------------------------- /test/004-StackWalk/info.txt: -------------------------------------------------------------------------------- 1 | Imported from oat tests. 2 | -------------------------------------------------------------------------------- /test/004-ThreadStress/expected.txt: -------------------------------------------------------------------------------- 1 | Finishing worker 2 | -------------------------------------------------------------------------------- /test/004-ThreadStress/info.txt: -------------------------------------------------------------------------------- 1 | Imported from oat tests. 2 | -------------------------------------------------------------------------------- /test/004-UnsafeTest/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/004-UnsafeTest/expected.txt -------------------------------------------------------------------------------- /test/004-UnsafeTest/info.txt: -------------------------------------------------------------------------------- 1 | Imported from oat tests. 2 | -------------------------------------------------------------------------------- /test/005-annotations/info.txt: -------------------------------------------------------------------------------- 1 | Test a bunch of uses of annotations. 2 | -------------------------------------------------------------------------------- /test/005-annotations/src/Main.java: -------------------------------------------------------------------------------- 1 | import android.test.anno.TestAnnotations; 2 | 3 | public class Main { 4 | static public void main(String[] args) { 5 | TestAnnotations.main(args); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/AnnoSimplePackage1.java: -------------------------------------------------------------------------------- 1 | package android.test; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.PACKAGE) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | 8 | public @interface AnnoSimplePackage1 {} 9 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoArrayField.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Documented 6 | @Inherited 7 | @Target({ElementType.FIELD}) 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface AnnoArrayField { 10 | boolean[] zz() default {}; 11 | byte[] bb() default {}; 12 | char[] cc() default {'a', 'b'}; 13 | short[] ss() default {}; 14 | int[] ii() default {}; 15 | float[] ff() default {3.141592654f}; 16 | long[] jj() default {}; 17 | double[] dd() default {0.987654321}; 18 | String[] str() default {}; 19 | } 20 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoFancyConstructor.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.CONSTRUCTOR) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | 8 | public @interface AnnoFancyConstructor { 9 | public int numArgs() default 0; 10 | } 11 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoFancyField.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.FIELD) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | @Inherited // should have no effect 8 | @Documented 9 | 10 | public @interface AnnoFancyField { 11 | public String nombre() default "no se"; 12 | } 13 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoFancyMethod.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.METHOD) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | 8 | public @interface AnnoFancyMethod { 9 | enum AnnoFancyMethodEnum { FOO, BAR }; 10 | boolean callMe() default false; 11 | boolean biteMe(); 12 | AnnoFancyMethodEnum enumerated() default AnnoFancyMethodEnum.FOO; 13 | Class someClass() default SomeClass.class; 14 | } 15 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoFancyParameter.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.PARAMETER) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | 8 | public @interface AnnoFancyParameter { 9 | double factor(); 10 | } 11 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoFancyType.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.TYPE) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | 8 | public @interface AnnoFancyType { 9 | public int num(); 10 | public String name() default "unknown"; 11 | } 12 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoSimpleConstructor.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.CONSTRUCTOR) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | 8 | public @interface AnnoSimpleConstructor {} 9 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoSimpleField.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.FIELD) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | 8 | public @interface AnnoSimpleField {} 9 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoSimpleLocalVariable.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.LOCAL_VARIABLE) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | 8 | public @interface AnnoSimpleLocalVariable {} 9 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoSimpleMethod.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.METHOD) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | 8 | public @interface AnnoSimpleMethod {} 9 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoSimplePackage.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.PACKAGE) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | 8 | public @interface AnnoSimplePackage {} 9 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoSimpleParameter.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.PARAMETER) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | 8 | public @interface AnnoSimpleParameter {} 9 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoSimpleType.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.TYPE) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | @Inherited 8 | @Documented 9 | public @interface AnnoSimpleType {} 10 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoSimpleType2.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.TYPE) 6 | @Retention(RetentionPolicy.RUNTIME) 7 | @Inherited 8 | public @interface AnnoSimpleType2 {} 9 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/AnnoSimpleTypeInvis.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Target(ElementType.TYPE) 6 | @Retention(RetentionPolicy.CLASS) 7 | 8 | public @interface AnnoSimpleTypeInvis {} 9 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/ClassWithInnerAnnotationClass.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.*; 4 | 5 | public class ClassWithInnerAnnotationClass { 6 | @Retention(RetentionPolicy.SOURCE) 7 | public @interface MissingInnerAnnotationClass {} 8 | } 9 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/ExportedProperty.java: -------------------------------------------------------------------------------- 1 | /* part of test for array problem */ 2 | package android.test.anno; 3 | 4 | import java.lang.annotation.*; 5 | 6 | @Target({ ElementType.FIELD, ElementType.METHOD }) 7 | @Retention(RetentionPolicy.RUNTIME) 8 | 9 | public @interface ExportedProperty { 10 | boolean resolveId() default false; 11 | IntToString[] mapping() default { @IntToString(from = -1, to = "-1") }; 12 | } 13 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/INoted.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | @AnnoSimpleType2 4 | public interface INoted { 5 | @AnnoSimpleMethod 6 | public int bar(); 7 | } 8 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/IntToString.java: -------------------------------------------------------------------------------- 1 | /* part of test for array problem */ 2 | package android.test.anno; 3 | 4 | import java.lang.annotation.*; 5 | 6 | @Target({ ElementType.TYPE }) 7 | @Retention(RetentionPolicy.RUNTIME) 8 | 9 | public @interface IntToString { 10 | int from(); 11 | String to(); 12 | } 13 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/MissingAnnotation.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | import java.lang.annotation.Retention; 4 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 5 | 6 | @Retention(RUNTIME) public @interface MissingAnnotation { 7 | } 8 | 9 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/SomeClass.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | public class SomeClass { 4 | } 5 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/SubNoted.java: -------------------------------------------------------------------------------- 1 | package android.test.anno; 2 | 3 | @AnnoFancyType(num=5) // first occurrence of AnnoFancyType 4 | // we inherit @AnnoSimpleType 5 | @AnnoSimpleType2 // AnnoSimpleType2 here *and* inherited from parent 6 | public class SubNoted extends SimplyNoted implements INoted { 7 | int mBar; 8 | 9 | public int bar() { 10 | return 0; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/anno/package-info.java: -------------------------------------------------------------------------------- 1 | @AnnoSimplePackage 2 | package android.test.anno; 3 | -------------------------------------------------------------------------------- /test/005-annotations/src/android/test/package-info.java: -------------------------------------------------------------------------------- 1 | @AnnoSimplePackage1 2 | package android.test; 3 | -------------------------------------------------------------------------------- /test/006-args/expected.txt: -------------------------------------------------------------------------------- 1 | VALUES: 1122334455667788 9887766554433221 1122334455667788 2 | VALUES: 1234605616436508552 -7455860480511102431 1234605616436508552 3 | 1234605616436508552 4 | j = 1234605616436508552 5 | a=123 c=q d=3.343434 j=1234605616436508552 f=0.12345 6 | -------------------------------------------------------------------------------- /test/006-args/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/007-count10/expected.txt: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /test/007-count10/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/008-exceptions/expected.txt: -------------------------------------------------------------------------------- 1 | Got an NPE: second throw 2 | java.lang.NullPointerException: second throw 3 | at Main.catchAndRethrow(Main.java:58) 4 | at Main.exceptions_007(Main.java:41) 5 | at Main.main(Main.java:49) 6 | Caused by: java.lang.NullPointerException: first throw 7 | at Main.throwNullPointerException(Main.java:65) 8 | at Main.catchAndRethrow(Main.java:55) 9 | ... 2 more 10 | Static Init 11 | BadError: This is bad by convention 12 | BadError: This is bad by convention 13 | -------------------------------------------------------------------------------- /test/008-exceptions/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/009-instanceof/expected.txt: -------------------------------------------------------------------------------- 1 | iface1.mFloaty = 5.0 wahoo 2 | aa.mFloaty = 5.0 wahoo 3 | bb.mWhoami = ImplB! 4 | aaOkay (false) = false 5 | bbOkay (true) = true 6 | Caught a ClassCastException (expected) 7 | instanceof Serializable = true 8 | instanceof Cloneable = true 9 | instanceof Runnable = false 10 | aaOkay (false) = false 11 | bbOkay (true) = true 12 | -------------------------------------------------------------------------------- /test/009-instanceof/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/010-instance/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/010-instance/src/X.java: -------------------------------------------------------------------------------- 1 | class X { 2 | public X() { 3 | } 4 | 5 | int foo() { 6 | return 0; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /test/010-instance/src/Y.java: -------------------------------------------------------------------------------- 1 | class Y extends X { 2 | public Y() { 3 | } 4 | 5 | int bar() { 6 | return 1; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /test/011-array-copy/expected.txt: -------------------------------------------------------------------------------- 1 | string -> object 2 | object -> string 3 | object -> string (modified) 4 | caught ArrayStoreException (expected) 5 | copy: 0,0,0: [0, 1, 2, 3, 4, 5, 6, 7] 6 | copy: 0,0,8: [0, 1, 2, 3, 4, 5, 6, 7] 7 | copy: 0,2,4: [0, 1, 0, 1, 2, 3, 6, 7] 8 | copy: 2,0,4: [2, 3, 4, 5, 4, 5, 6, 7] 9 | copy: 1,3,4: [0, 1, 2, 1, 2, 3, 4, 7] 10 | copy: 3,1,4: [0, 3, 4, 5, 6, 5, 6, 7] 11 | copy: 3,1,5: [0, 3, 4, 5, 6, 7, 6, 7] 12 | copy: 1,3,5: [0, 1, 2, 1, 2, 3, 4, 5] 13 | copy: 0,3,5: [0, 1, 2, 0, 1, 2, 3, 4] 14 | copy: 3,0,5: [3, 4, 5, 6, 7, 5, 6, 7] 15 | copy: 0,5,1: [0, 1, 2, 3, 4, 0, 6, 7] 16 | -------------------------------------------------------------------------------- /test/011-array-copy/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/012-math/expected.txt: -------------------------------------------------------------------------------- 1 | res:10 2 | res:-4 3 | res:2 4 | res:-2 5 | res:21 6 | res:0 7 | res:3 8 | res:4 9 | res:384 10 | res:0 11 | res:0 12 | a:10 13 | a:3 14 | a:2 15 | a:-3 16 | a:-21 17 | a:-3 18 | a:-3 19 | a:-6 20 | a:-768 21 | a:-6 22 | a:33554431 23 | fres:10.0 24 | fres:-4.0 25 | fres:21.0 26 | fres:0.42857142857142855 27 | fres:3.0 28 | f:10.0 29 | f:3.0 30 | f:21.0 31 | f:3.0 32 | f:3.0 33 | 0 34 | 0 35 | 0 36 | 0 37 | 0 38 | 0 39 | 0 40 | 0 41 | -------------------------------------------------------------------------------- /test/012-math/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/013-math2/expected.txt: -------------------------------------------------------------------------------- 1 | a:32003 2 | b:-31993 3 | -------------------------------------------------------------------------------- /test/013-math2/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/014-math3/expected.txt: -------------------------------------------------------------------------------- 1 | testMath3 success 2 | -------------------------------------------------------------------------------- /test/014-math3/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/015-switch/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/016-intern/expected.txt: -------------------------------------------------------------------------------- 1 | good! foobar 2 | good! foo 3 | good! null 4 | -------------------------------------------------------------------------------- /test/016-intern/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/017-float/expected.txt: -------------------------------------------------------------------------------- 1 | base values: d=3.1415926535 f=3.1415927 2 | base values: d=3.1415926535 f=3.1415927 3 | base values: f=3.1415927 d=3.1415926535 4 | -------------------------------------------------------------------------------- /test/017-float/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/018-stack-overflow/expected.txt: -------------------------------------------------------------------------------- 1 | libartd run. 2 | caught SOE3 in testSelfRecursion 3 | caught SOE10 in testSelfRecursion 4 | caught SOE in testMutualRecursion 5 | SOE test done 6 | libart run. 7 | caught SOE3 in testSelfRecursion 8 | caught SOE10 in testSelfRecursion 9 | caught SOE in testMutualRecursion 10 | SOE test done 11 | -------------------------------------------------------------------------------- /test/018-stack-overflow/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/019-wrong-array-type/expected.txt: -------------------------------------------------------------------------------- 1 | Got correct array store exception 2 | -------------------------------------------------------------------------------- /test/019-wrong-array-type/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/020-string/expected.txt: -------------------------------------------------------------------------------- 1 | testStr is 'This is a very nice string' 2 | This is a very nice string 3 | Compare result is 32 4 | Compare unicode: -65302 5 | Got expected exception 6 | subStr is 'uick brown fox jumps over the lazy ' 7 | Indexes are: 0:-1:0:43:33:-1:18:13:13:-1:18:18:-1:13:-1:-1:-1 8 | -------------------------------------------------------------------------------- /test/020-string/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/021-string2/expected.txt: -------------------------------------------------------------------------------- 1 | Got expected npe 2 | OK 3 | -------------------------------------------------------------------------------- /test/021-string2/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/021-string2/src/junit/framework/AssertionFailedError.java: -------------------------------------------------------------------------------- 1 | package junit.framework; 2 | 3 | /** 4 | * Thrown when an assertion failed. 5 | */ 6 | public class AssertionFailedError extends AssertionError { 7 | 8 | private static final long serialVersionUID= 1L; 9 | 10 | public AssertionFailedError() { 11 | } 12 | 13 | public AssertionFailedError(String message) { 14 | super(defaultString(message)); 15 | } 16 | 17 | private static String defaultString(String message) { 18 | return message == null ? "" : message; 19 | } 20 | } -------------------------------------------------------------------------------- /test/022-interface/classes/Iface1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/Iface1.class -------------------------------------------------------------------------------- /test/022-interface/classes/Iface2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/Iface2.class -------------------------------------------------------------------------------- /test/022-interface/classes/Iface2Sub1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/Iface2Sub1.class -------------------------------------------------------------------------------- /test/022-interface/classes/ImplA.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/ImplA.class -------------------------------------------------------------------------------- /test/022-interface/classes/ImplB.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/ImplB.class -------------------------------------------------------------------------------- /test/022-interface/classes/ImplBSub.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/ImplBSub.class -------------------------------------------------------------------------------- /test/022-interface/classes/Main$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/Main$1.class -------------------------------------------------------------------------------- /test/022-interface/classes/Main$SubInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/Main$SubInterface.class -------------------------------------------------------------------------------- /test/022-interface/classes/Main$SubInterfaceImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/Main$SubInterfaceImpl.class -------------------------------------------------------------------------------- /test/022-interface/classes/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/Main.class -------------------------------------------------------------------------------- /test/022-interface/classes/ObjectOverridingInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/ObjectOverridingInterface.class -------------------------------------------------------------------------------- /test/022-interface/classes/SubObjectOverridingInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/022-interface/classes/SubObjectOverridingInterface.class -------------------------------------------------------------------------------- /test/022-interface/expected.txt: -------------------------------------------------------------------------------- 1 | ImplBSub intf: 205 2 | ImplA: 7 3 | objectOverrideTests: SUCCESS 4 | -------------------------------------------------------------------------------- /test/022-interface/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/023-many-interfaces/expected.txt: -------------------------------------------------------------------------------- 1 | testIface001: done 2 | testIface049: done 3 | testIface099: done 4 | testVirt001: done 5 | testVirt049: done 6 | testVirt099: done 7 | testInst001: done 8 | testInst049: done 9 | testInst099: done 10 | -------------------------------------------------------------------------------- /test/023-many-interfaces/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/023-many-interfaces/src/Main.java: -------------------------------------------------------------------------------- 1 | public class Main { 2 | static public void main(String[] args) throws Exception { 3 | boolean timing = (args.length >= 1) && args[0].equals("--timing"); 4 | ManyInterfaces.run(timing); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /test/024-illegal-access/expected.txt: -------------------------------------------------------------------------------- 1 | Got expected failure 1 2 | Got expected failure 2 3 | -------------------------------------------------------------------------------- /test/024-illegal-access/info.txt: -------------------------------------------------------------------------------- 1 | Test that an attempt to access a private field results in a verification 2 | error. Also try to access a non-public class in a different package with 3 | "instanceof". 4 | -------------------------------------------------------------------------------- /test/025-access-controller/expected.txt: -------------------------------------------------------------------------------- 1 | AccessControllerTest: got 39 2 | -------------------------------------------------------------------------------- /test/025-access-controller/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/026-access/expected.txt: -------------------------------------------------------------------------------- 1 | access test 2 | Blort. 3 | 1 4 | 2 5 | 3 6 | 5 7 | -------------------------------------------------------------------------------- /test/026-access/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/026-access/src/otherpackage/PublicAccess.java: -------------------------------------------------------------------------------- 1 | package otherpackage; 2 | 3 | public class PublicAccess { 4 | static public void main() { 5 | System.out.println("Blort."); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/027-arithmetic/expected.txt: -------------------------------------------------------------------------------- 1 | f=1234.5677 --> i=1234 2 | f=-1234.5677 --> i=-1234 3 | d=1234.5678 --> i=1234 4 | d=-1234.5678 --> i=-1234 5 | d=5.6789567890123E9 --> l=5678956789 6 | d=-5.6789567890123E9 --> l=-5678956789 7 | i=7654 --> l=7654 8 | i=-7654 --> l=-7654 9 | l=5678956789 --> i=1383989493 10 | l=-5678956789 --> i=-1383989493 11 | i=1234 --> f=1234.0 12 | i=-1234 --> f=-1234.0 13 | values are 44332211 and bbaa9988 14 | First l is bbaa998844332211 15 | Second l is bbaa998844332211 16 | shiftTest2 l is 1122334455667788 17 | b=-1, s=-1, c=4095, i=268435455 18 | b=0xffffffff, s=0xffffffff, c=0xfff, i=0xfffffff 19 | -------------------------------------------------------------------------------- /test/027-arithmetic/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/028-array-write/expected.txt: -------------------------------------------------------------------------------- 1 | Running writeTest... 2 | Running copyTest... 3 | Done! 4 | -------------------------------------------------------------------------------- /test/028-array-write/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/029-assert/expected.txt: -------------------------------------------------------------------------------- 1 | didn't assert (is '-ea' implemented?) 2 | -------------------------------------------------------------------------------- /test/029-assert/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/030-bad-finalizer/expected.txt: -------------------------------------------------------------------------------- 1 | About to null reference and request GC. 2 | Finalizer started and spinning... 3 | Finalizer done spinning. 4 | Finalizer sleeping forever now. 5 | -------------------------------------------------------------------------------- /test/030-bad-finalizer/info.txt: -------------------------------------------------------------------------------- 1 | The finalizer for this class never finishes. Dalvik is expected to detect 2 | this situation and abort the VM (so you will likely see a stacktrace like 3 | the following in the log output). 4 | 5 | java.util.concurrent.TimeoutException 6 | at java.lang.VMThread.sleep(Native Method) 7 | at java.lang.Thread.sleep(Thread.java:1031) 8 | at java.lang.Thread.sleep(Thread.java:1013) 9 | at BadFinalizer.snooze(BadFinalizer.java:9) 10 | at BadFinalizer.finalize(BadFinalizer.java:29) 11 | at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:182) 12 | at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168) 13 | at java.lang.Thread.run(Thread.java:856) 14 | Calling exit(2) 15 | 16 | -------------------------------------------------------------------------------- /test/031-class-attributes/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/031-class-attributes/src/Main.java: -------------------------------------------------------------------------------- 1 | public class Main { 2 | public static void main(String[] args) { 3 | ClassAttrs.main(); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /test/031-class-attributes/src/OtherClass.java: -------------------------------------------------------------------------------- 1 | class OtherClass { 2 | } 3 | -------------------------------------------------------------------------------- /test/031-class-attributes/src/otherpackage/OtherPackageClass.java: -------------------------------------------------------------------------------- 1 | package otherpackage; 2 | 3 | public class OtherPackageClass { 4 | } 5 | -------------------------------------------------------------------------------- /test/032-concrete-sub/expected.txt: -------------------------------------------------------------------------------- 1 | calling abs.doStuff() 2 | In AbstractBase.doStuff (src2) 3 | Got expected exception from abs.doStuff(). 4 | class modifiers=1025 5 | meth modifiers=1025 6 | Got expected failure 7 | -------------------------------------------------------------------------------- /test/032-concrete-sub/info.txt: -------------------------------------------------------------------------------- 1 | This tests some facets of abstract method handling, notably situations 2 | where a concrete class and its abstract superclass were compiled with 3 | different notions about which methods are abstract. 4 | -------------------------------------------------------------------------------- /test/033-class-init-deadlock/expected.txt: -------------------------------------------------------------------------------- 1 | Deadlock test starting. 2 | A initializing... 3 | B initializing... 4 | Deadlock test interrupting threads. 5 | Deadlock test main thread bailing. 6 | A initialized: false 7 | B initialized: false 8 | -------------------------------------------------------------------------------- /test/033-class-init-deadlock/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/034-call-null/expected.txt: -------------------------------------------------------------------------------- 1 | java.lang.NullPointerException: Attempt to invoke direct method 'void Main.doStuff(int, int[][], java.lang.String, java.lang.String[][])' on a null object reference 2 | at Main.main(Main.java:26) 3 | -------------------------------------------------------------------------------- /test/034-call-null/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/035-enum/expected.txt: -------------------------------------------------------------------------------- 1 | found field CRAWLING 2 | synthetic? false 3 | enum? true 4 | -------------------------------------------------------------------------------- /test/035-enum/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/036-finalizer/expected.txt: -------------------------------------------------------------------------------- 1 | wimp: [FinalizerTest message=wahoo, finalized=false] 2 | gc 3 | wimp: null 4 | finalize 5 | wimp: null 6 | sleep 7 | reborn: [FinalizerTest message=wahoo, finalized=true] 8 | wimp: null 9 | reset reborn 10 | gc + finalize 11 | sleep 12 | reborn: [FinalizerTest message=nothing, finalized=false] 13 | wimp: null 14 | Finalized 1024 / 1024 15 | -------------------------------------------------------------------------------- /test/036-finalizer/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/037-inherit/expected.txt: -------------------------------------------------------------------------------- 1 | magic is 64.0 2 | 0: 64.0 3 | 1: 64.0 4 | -------------------------------------------------------------------------------- /test/037-inherit/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/038-inner-null/expected.txt: -------------------------------------------------------------------------------- 1 | new Special() 2 | java.lang.NullPointerException: Attempt to invoke virtual method 'void Main$Blort.repaint()' on a null object reference 3 | at Main$Special.callInner(Main.java:31) 4 | at Main.main(Main.java:20) 5 | -------------------------------------------------------------------------------- /test/038-inner-null/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/039-join-main/expected.txt: -------------------------------------------------------------------------------- 1 | Starting thread 'Joiner' 2 | @ JoinMainSub running 3 | JoinMain starter returning 4 | @ JoinMainSub successfully joined main 5 | @ JoinMainSub bailing 6 | -------------------------------------------------------------------------------- /test/039-join-main/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/040-miranda/expected.txt: -------------------------------------------------------------------------------- 1 | MirandaClass: 2 | inInterface: true 3 | inInterface2: 27 4 | inAbstract: false 5 | MirandaAbstract / MirandaClass: 6 | inInterface: true 7 | inInterface2: 27 8 | inAbstract: false 9 | MirandaAbstract / MirandaClass2: 10 | inInterface: true 11 | inInterface2: 28 12 | inAbstract: true 13 | Test getting miranda method via reflection: 14 | caught expected NoSuchMethodException 15 | -------------------------------------------------------------------------------- /test/040-miranda/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/041-narrowing/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/042-new-instance/expected.txt: -------------------------------------------------------------------------------- 1 | LocalClass succeeded 2 | Got expected PackageAccess complaint 3 | LocalClass3 succeeded 4 | Got expected InstantationError 5 | Cons LocalClass failed as expected 6 | Cons LocalClass2 succeeded 7 | Cons InnerClass succeeded 8 | Cons StaticInnerClass succeeded 9 | Cons got expected PackageAccess complaint 10 | Cons got expected InstantationException 11 | Cons got expected PackageAccess2 complaint 12 | -------------------------------------------------------------------------------- /test/042-new-instance/info.txt: -------------------------------------------------------------------------------- 1 | Test various permutations of Class.newInstance and Constructor.newInstance, 2 | looking for correct handling of access rights and abstract classes. 3 | -------------------------------------------------------------------------------- /test/043-privates/expected.txt: -------------------------------------------------------------------------------- 1 | PrivatePackage --> PrivatePackage! 2 | PrivatePackage --> PrivatePackage! 3 | PrivatePackage --> PrivatePackage! 4 | PrivatePackageSub --> PrivatePackageSub! 5 | PrivatePackage --> PrivatePackage! 6 | PrivatePackage --> PrivatePackage! 7 | -------------------------------------------------------------------------------- /test/043-privates/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/044-proxy/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/045-reflect-array/expected.txt: -------------------------------------------------------------------------------- 1 | ReflectArrayTest.testSingleInt passed 2 | ReflectArrayTest.testSingleChar passed 3 | ReflectArrayTest.testSingleShort passed 4 | ReflectArrayTest.testSingleLong passed 5 | ReflectArrayTest.testSingle passed 6 | ReflectArrayTest.testMultiInt passed 7 | zero one two ++ 8 | ReflectArrayTest.testMulti passed 9 | class [Ljava.lang.Number; modifiers: 1041 10 | class [Ljava.lang.Cloneable; modifiers: 1041 11 | ReflectArrayTest.testAbstract passed 12 | ReflectArrayTest passed 13 | -------------------------------------------------------------------------------- /test/045-reflect-array/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/046-reflect/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/047-returns/expected.txt: -------------------------------------------------------------------------------- 1 | pick 1 2 | one running 3 | one 4 | 1 5 | pick 2 6 | two running 7 | two 8 | 2 9 | pick 3 10 | three running 11 | -------------------------------------------------------------------------------- /test/047-returns/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/049-show-object/expected.txt: -------------------------------------------------------------------------------- 1 | d is 3.1415 2 | class: class [Ljava.lang.Object; 3 | 0: null 4 | 1: null 5 | 2: null 6 | 3: null 7 | 4: null 8 | class: class [Ljava.lang.String; 9 | 0: hey 10 | 1: you 11 | 2: there 12 | -------------------------------------------------------------------------------- /test/049-show-object/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/050-sync-test/expected.txt: -------------------------------------------------------------------------------- 1 | Sleep Test 2 | GOING 3 | GONE 4 | 5 | Count Test 6 | going: 1 7 | going: 1 8 | going: 1 9 | going: 1 10 | going: 1 11 | going: 1 12 | going: 1 13 | going: 1 14 | going: 1 15 | going: 1 16 | Final result: 10 17 | going: 2 18 | going: 2 19 | going: 2 20 | going: 2 21 | going: 2 22 | going: 2 23 | going: 2 24 | going: 2 25 | going: 2 26 | going: 2 27 | Final result: 20 28 | main: all done 29 | 30 | Interrupt Test 31 | SleepyThread.run starting 32 | SleepyThread.run starting 33 | interrupting other (isAlive=true) 34 | thread#0 interrupted, flag=false 35 | -------------------------------------------------------------------------------- /test/050-sync-test/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/051-thread/expected.txt: -------------------------------------------------------------------------------- 1 | thread test starting 2 | testThreadCapacity thread count: 512 3 | testThreadDaemons starting thread 'TestDaemonThread' 4 | testThreadDaemons @ Thread running 5 | testThreadDaemons @ Got expected setDaemon exception 6 | testThreadDaemons @ Thread bailing 7 | testThreadDaemons finished 8 | testSleepZero finished 9 | testSetName starting 10 | testSetName running 11 | testSetName finished 12 | testThreadPriorities starting 13 | testThreadPriorities finished 14 | thread test done 15 | -------------------------------------------------------------------------------- /test/051-thread/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/052-verifier-fun/expected.txt: -------------------------------------------------------------------------------- 1 | BlahOne 2 | Zorch. 3 | 10 == 10 4 | -------------------------------------------------------------------------------- /test/052-verifier-fun/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/052-verifier-fun/src/Blah.java: -------------------------------------------------------------------------------- 1 | public abstract class Blah { 2 | public void unrelatedStuff() { 3 | } 4 | } 5 | -------------------------------------------------------------------------------- /test/052-verifier-fun/src/BlahFeature.java: -------------------------------------------------------------------------------- 1 | public interface BlahFeature { 2 | public void doStuff(); 3 | } 4 | -------------------------------------------------------------------------------- /test/052-verifier-fun/src/BlahOne.java: -------------------------------------------------------------------------------- 1 | public class BlahOne extends Blah implements BlahFeature { 2 | public void doStuff() { 3 | System.out.println("BlahOne"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /test/052-verifier-fun/src/BlahTwo.java: -------------------------------------------------------------------------------- 1 | public class BlahTwo extends Blah implements BlahFeature { 2 | public void doStuff() { 3 | System.out.println("BlahTwo"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /test/053-wait-some/expected.txt: -------------------------------------------------------------------------------- 1 | Caught expected exception on neg arg 2 | Waiting for 200ms... 3 | Waiting for 500ms... 4 | Waiting for 1000ms... 5 | Waiting for 2000ms... 6 | Waiting for 3500ms... 7 | Waiting for 8000ms... 8 | -------------------------------------------------------------------------------- /test/053-wait-some/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/054-uncaught/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | TODO: Real description goes here. 7 | -------------------------------------------------------------------------------- /test/055-enum-performance/expected.txt: -------------------------------------------------------------------------------- 1 | FOUR 2 | ONE 3 | FOURTEEN 4 | NINE 5 | FIVE 6 | TWELVE 7 | SamePackagePublicEnum 8 | basis: performed 10000 iterations 9 | test1: performed 10000 iterations 10 | test2: performed 10000 iterations 11 | test3: performed 10000 iterations 12 | Timing is acceptable. 13 | -------------------------------------------------------------------------------- /test/055-enum-performance/info.txt: -------------------------------------------------------------------------------- 1 | This is a performance test of Enum.valueOf(). To see the numbers, invoke 2 | this test with the "--timing" option. 3 | -------------------------------------------------------------------------------- /test/055-enum-performance/src/SamePackagePrivateEnum.java: -------------------------------------------------------------------------------- 1 | /*package*/ enum SamePackagePrivateEnum { 2 | ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, 3 | TEN, ELEVEN, TWELVE, THIRTEEN, FOURTEEN, FIFTEEN, SIXTEEN, 4 | SEVENTEEN, EIGHTEEN, NINETEEN; 5 | } 6 | -------------------------------------------------------------------------------- /test/055-enum-performance/src/SamePackagePublicEnum.java: -------------------------------------------------------------------------------- 1 | public enum SamePackagePublicEnum { 2 | ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, 3 | TEN, ELEVEN, TWELVE, THIRTEEN, FOURTEEN, FIFTEEN, SIXTEEN, 4 | SEVENTEEN, EIGHTEEN, NINETEEN; 5 | } 6 | -------------------------------------------------------------------------------- /test/055-enum-performance/src/otherpackage/OtherPackagePublicEnum.java: -------------------------------------------------------------------------------- 1 | package otherpackage; 2 | 3 | public enum OtherPackagePublicEnum { 4 | ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, 5 | TEN, ELEVEN, TWELVE, THIRTEEN, FOURTEEN, FIFTEEN, SIXTEEN, 6 | SEVENTEEN, EIGHTEEN, NINETEEN; 7 | } 8 | -------------------------------------------------------------------------------- /test/056-const-string-jumbo/expected.txt: -------------------------------------------------------------------------------- 1 | zorch 2 | -------------------------------------------------------------------------------- /test/056-const-string-jumbo/info.txt: -------------------------------------------------------------------------------- 1 | Test that the opcode const-string/jumbo works. 2 | -------------------------------------------------------------------------------- /test/058-enum-order/expected.txt: -------------------------------------------------------------------------------- 1 | 0: CORN 2 | 1: BLUEBERRY 3 | 2: CRANBERRY 4 | 3: BRAN 5 | 4: BLACKBERRY 6 | -------------------------------------------------------------------------------- /test/058-enum-order/info.txt: -------------------------------------------------------------------------------- 1 | Test that the ordering of enums is as expected. 2 | -------------------------------------------------------------------------------- /test/059-finalizer-throw/expected.txt: -------------------------------------------------------------------------------- 1 | In finalizer 2 | done 3 | -------------------------------------------------------------------------------- /test/059-finalizer-throw/info.txt: -------------------------------------------------------------------------------- 1 | Verify that exceptions thrown from finalizers are ignored. 2 | -------------------------------------------------------------------------------- /test/061-out-of-memory/expected.txt: -------------------------------------------------------------------------------- 1 | tests beginning 2 | Got expected huge-array OOM 3 | testOomeLarge beginning 4 | testOomeLarge succeeded 5 | testOomeSmall beginning 6 | testOomeSmall succeeded 7 | Got expected toCharArray OOM 8 | tests succeeded 9 | -------------------------------------------------------------------------------- /test/061-out-of-memory/info.txt: -------------------------------------------------------------------------------- 1 | Tests the various ways that an OutOfMemoryError can be constructed and thrown. 2 | -------------------------------------------------------------------------------- /test/062-character-encodings/expected.txt: -------------------------------------------------------------------------------- 1 | Missing: [] 2 | -------------------------------------------------------------------------------- /test/062-character-encodings/info.txt: -------------------------------------------------------------------------------- 1 | Test that the list of character encodings is what we expect. 2 | -------------------------------------------------------------------------------- /test/063-process-manager/expected.txt: -------------------------------------------------------------------------------- 1 | process manager: nonexistent 2 | 3 | spawning child #1 4 | spawning child 5 | process manager: RUNNABLE 6 | child died 7 | process manager: WAITING 8 | 9 | spawning child #2 10 | spawning child 11 | process manager: RUNNABLE 12 | child died 13 | process manager: WAITING 14 | 15 | done! 16 | -------------------------------------------------------------------------------- /test/063-process-manager/info.txt: -------------------------------------------------------------------------------- 1 | Test that spawning a child process and then reaping it (a) works and (b) 2 | doesn't cause the system to busy-wait. 3 | -------------------------------------------------------------------------------- /test/064-field-access/expected.txt: -------------------------------------------------------------------------------- 1 | good 2 | Got expected failure 3 | -------------------------------------------------------------------------------- /test/064-field-access/info.txt: -------------------------------------------------------------------------------- 1 | The documentation lists exceptional conditions and the exceptions that 2 | should be thrown, but doesn't say which exception previals when two or 3 | more exceptional conditions exist at the same time. For example, 4 | attempting to set a protected field from an unrelated class causes an 5 | IllegalAccessException, while passing in a data type that doesn't match 6 | the field causes an IllegalArgumentException. If code does both at the 7 | same time, we can only throw one or the other. 8 | 9 | This exercises the various failure modes to ensure that behavior is 10 | equivalent, and not merely spec-compliant. 11 | -------------------------------------------------------------------------------- /test/065-mismatched-implements/expected.txt: -------------------------------------------------------------------------------- 1 | Got expected ICCE 2 | -------------------------------------------------------------------------------- /test/065-mismatched-implements/info.txt: -------------------------------------------------------------------------------- 1 | This tests what happens when class A implements interface B, but somebody 2 | turns B into an abstract class without rebuilding A. 3 | -------------------------------------------------------------------------------- /test/066-mismatched-super/expected.txt: -------------------------------------------------------------------------------- 1 | Got expected ICCE 2 | -------------------------------------------------------------------------------- /test/066-mismatched-super/info.txt: -------------------------------------------------------------------------------- 1 | This tests what happens when class A extends abstract class B, but somebody 2 | turns B into an interface without rebuilding A. 3 | -------------------------------------------------------------------------------- /test/067-preemptive-unpark/expected.txt: -------------------------------------------------------------------------------- 1 | Test starting 2 | GC'ing 3 | Asking thread to park 4 | park() returned quickly 5 | Test succeeded! 6 | -------------------------------------------------------------------------------- /test/067-preemptive-unpark/info.txt: -------------------------------------------------------------------------------- 1 | Test that Unsafe.unpark() operates as expected, in particular across a gc. 2 | -------------------------------------------------------------------------------- /test/068-classloader/expected.txt: -------------------------------------------------------------------------------- 1 | base: class DoubledImplement 2 | base2: class DoubledImplement2 3 | Got expected access exception #1 4 | Got expected CNFE/IAE #2 5 | Got expected CNFE/IAE #3 6 | Got expected LinkageError on DE 7 | Got DEO result DoubledExtendOkay 1 8 | Got LinkageError on GD 9 | Got LinkageError on TA 10 | Ctor: doubled implement, type 1 11 | DoubledImplement one 12 | Got LinkageError on DI (early) 13 | Got LinkageError on IDI (early) 14 | class Main 15 | Got expected ClassNotFoundException 16 | -------------------------------------------------------------------------------- /test/068-classloader/info.txt: -------------------------------------------------------------------------------- 1 | Class loaders allow code to "redefine" a given class, e.g. it's possible to 2 | have multiple classes called "com.android.Blah" loaded simultaneously. The 3 | classes are distinct and must be treated as such. This test exercises 4 | some situations in which a VM that only checks the UTF-8 signatures could 5 | mix things up. 6 | 7 | This also tests a couple of situations in which an IllegalAccessException 8 | is expected. 9 | -------------------------------------------------------------------------------- /test/068-classloader/src/Useless.java: -------------------------------------------------------------------------------- 1 | 2 | public class Useless implements ICommon { 3 | public DoubledImplement getDoubledInstance() { return null; } 4 | } 5 | -------------------------------------------------------------------------------- /test/069-field-type/expected.txt: -------------------------------------------------------------------------------- 1 | Assignment was allowed 2 | Got expected IncompatibleClassChangeError 3 | In compareTo 4 | Done 5 | -------------------------------------------------------------------------------- /test/069-field-type/info.txt: -------------------------------------------------------------------------------- 1 | This tests to see if the VM allows you to store a reference to an 2 | inappropriate object type in an instance field. By compiling two 3 | versions of the field-holder class we can bypass the compiler's type 4 | safety. 5 | -------------------------------------------------------------------------------- /test/069-field-type/src/Blah.java: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Trivial class; must implement an interesting interface. 4 | */ 5 | public class Blah implements Runnable { 6 | public void run() { 7 | System.out.println("run"); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/069-field-type/src/Holder.java: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Simple class with one field. 4 | */ 5 | public class Holder { 6 | public Runnable mValue; 7 | } 8 | -------------------------------------------------------------------------------- /test/069-field-type/src2/Blah.java: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Trivial class; must implement an interesting interface. 4 | */ 5 | public class Blah implements Comparable { 6 | public int compareTo(Object another) { 7 | System.out.println("In compareTo"); 8 | return 0; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/070-nio-buffer/expected.txt: -------------------------------------------------------------------------------- 1 | Direct byte buffer has array: true 2 | Got expected buffer overflow exception 3 | Got expected out-of-bounds exception 4 | Got expected buffer overflow exception 5 | 00fbfb2ec03000001234567840490fd01122334455667788000000000000000100000000 6 | ccfb2efb30c0cccc78563412d00f494088776655443322110100000000000000cccccccc 7 | -------------------------------------------------------------------------------- /test/070-nio-buffer/info.txt: -------------------------------------------------------------------------------- 1 | Exercise NIO buffers (e.g. java.nio.ByteBuffer). 2 | -------------------------------------------------------------------------------- /test/071-dexfile/expected.txt: -------------------------------------------------------------------------------- 1 | Constructing another 2 | Got expected ULE 3 | Another 4 | done 5 | -------------------------------------------------------------------------------- /test/071-dexfile/info.txt: -------------------------------------------------------------------------------- 1 | Exercise some Dalvik-specific DEX file features. This is not expected to 2 | work on other VMs. 3 | 4 | NOTE: the test requires that /data/run-test/ exists and is writable and not mounted noexec. 5 | -------------------------------------------------------------------------------- /test/072-precise-gc/expected.txt: -------------------------------------------------------------------------------- 1 | Valid refs: 0 2 | String0String1String2String3String4String5String6String7String8String9 3 | -------------------------------------------------------------------------------- /test/072-precise-gc/info.txt: -------------------------------------------------------------------------------- 1 | Try to detect whether precise GC is working. 2 | -------------------------------------------------------------------------------- /test/073-mismatched-field/expected.txt: -------------------------------------------------------------------------------- 1 | Got expected failure 2 | -------------------------------------------------------------------------------- /test/073-mismatched-field/info.txt: -------------------------------------------------------------------------------- 1 | Test behavior when an instance field is overlapped (through separate 2 | compilation) by a static field. The VM is expected to detect the conflict 3 | and throw an IncompatibleClassChangeError when the field is accessed. 4 | -------------------------------------------------------------------------------- /test/074-gc-thrash/expected.txt: -------------------------------------------------------------------------------- 1 | Running (10 seconds) ... 2 | Done. 3 | -------------------------------------------------------------------------------- /test/074-gc-thrash/info.txt: -------------------------------------------------------------------------------- 1 | This thrashes the memory allocator and garbage collector for a brief period. 2 | -------------------------------------------------------------------------------- /test/075-verification-error/expected.txt: -------------------------------------------------------------------------------- 1 | Got expected InstantationError 2 | Got expected NoSuchFieldError 3 | Got expected NoSuchFieldError 4 | Got expected NoSuchMethodError 5 | Got expected NoSuchMethodError 6 | Got expected IllegalAccessError (ifield) 7 | Got expected IllegalAccessError (sfield) 8 | Got expected IllegalAccessError (method) 9 | Got expected IllegalAccessError (smethod) 10 | Got expected IllegalAccessError (meth-class) 11 | Got expected IllegalAccessError (field-class) 12 | Got expected IllegalAccessError (meth-meth) 13 | -------------------------------------------------------------------------------- /test/075-verification-error/info.txt: -------------------------------------------------------------------------------- 1 | Exercise deferred verification error reporting. 2 | -------------------------------------------------------------------------------- /test/076-boolean-put/expected.txt: -------------------------------------------------------------------------------- 1 | Done 2 | -------------------------------------------------------------------------------- /test/076-boolean-put/info.txt: -------------------------------------------------------------------------------- 1 | This checks a case where javac generates code that stores a byte into a 2 | boolean field. The code as generated should not pass the verifier, so the 3 | verifier had to be "loosened" to allow this case. 4 | -------------------------------------------------------------------------------- /test/077-method-override/expected.txt: -------------------------------------------------------------------------------- 1 | declaredInBase: Base 2 | notDeclaredInBase: Derived 3 | wasOverridden: Derived 4 | overrideWithPublic: Derived 5 | overrideProtectedWithPublic: Derived 6 | overridePublicWithProtected: Derived 7 | overridePublicWithPrivate: Base 8 | overridePrivateWithPublic: Base 9 | overridePrivateWithPublic: Derived 10 | overrideVirtualWithStatic: Base 11 | overrideVirtualWithStatic: Derived 12 | overrideStaticWithVirtual: Base 13 | overrideStaticWithVirtual: Derived 14 | Got expected exception - ovws 15 | Got expected exception - oswv 16 | -------------------------------------------------------------------------------- /test/077-method-override/info.txt: -------------------------------------------------------------------------------- 1 | Test various forms of method overrides, including some not allowed by the 2 | compiler but possible with separate compilation. 3 | -------------------------------------------------------------------------------- /test/078-polymorphic-virtual/expected.txt: -------------------------------------------------------------------------------- 1 | 10000000 2 | 20000000 3 | 30000000 4 | -------------------------------------------------------------------------------- /test/078-polymorphic-virtual/info.txt: -------------------------------------------------------------------------------- 1 | Stress test predicted chaining for overloaded virtual callsite with 3 resolved 2 | calless invoked 10,000,000 times each in three threads. 3 | -------------------------------------------------------------------------------- /test/079-phantom/expected.txt: -------------------------------------------------------------------------------- 1 | start 2 | Created Bitmap one: 10x10 (100) 3 | Created Bitmap two: 20x20 (101) 4 | Created Bitmap three/four: 20x20 (101) 5 | Drawing Bitmap two: 20x20 (101) 6 | nulling 1 7 | freeNativeStorage: 100 8 | nulling 2 9 | nulling 3 10 | nulling 4 11 | freeNativeStorage: 101 12 | intr 13 | Bitmap has shut down 14 | done 15 | -------------------------------------------------------------------------------- /test/079-phantom/info.txt: -------------------------------------------------------------------------------- 1 | Exercise phantom references. 2 | -------------------------------------------------------------------------------- /test/080-oom-throw-with-finalizer/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/080-oom-throw-with-finalizer/expected.txt -------------------------------------------------------------------------------- /test/080-oom-throw-with-finalizer/info.txt: -------------------------------------------------------------------------------- 1 | Regression test on correct processing of OOM thrown while adding a finalizer reference. 2 | -------------------------------------------------------------------------------- /test/080-oom-throw/expected.txt: -------------------------------------------------------------------------------- 1 | Test reflection correctly threw 2 | NEW_ARRAY correctly threw OOME 3 | NEW_INSTANCE correctly threw OOME 4 | -------------------------------------------------------------------------------- /test/080-oom-throw/info.txt: -------------------------------------------------------------------------------- 1 | Inject memory allocation failures for NEW_ARRAY and NEW_INSTANCE and make sure 2 | the JIT'ed code handles OOM exception correctly since it cannot fall back to 3 | the interpreter and re-execute the bytecode. 4 | -------------------------------------------------------------------------------- /test/081-hot-exceptions/expected.txt: -------------------------------------------------------------------------------- 1 | sum = 0 2 | exception = 1024 3 | -------------------------------------------------------------------------------- /test/081-hot-exceptions/info.txt: -------------------------------------------------------------------------------- 1 | Make a hot exception-throwing path to stress test how the trace builder handles 2 | exceptions encountered during trace selection. The existence of exceptions will 3 | cause a control flow change to deviate from the current method. 4 | -------------------------------------------------------------------------------- /test/082-inline-execute/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/082-inline-execute/expected.txt -------------------------------------------------------------------------------- /test/082-inline-execute/info.txt: -------------------------------------------------------------------------------- 1 | Test all intrinsics. -------------------------------------------------------------------------------- /test/082-inline-execute/src/junit/framework/AssertionFailedError.java: -------------------------------------------------------------------------------- 1 | package junit.framework; 2 | 3 | /** 4 | * Thrown when an assertion failed. 5 | */ 6 | public class AssertionFailedError extends AssertionError { 7 | 8 | private static final long serialVersionUID= 1L; 9 | 10 | public AssertionFailedError() { 11 | } 12 | 13 | public AssertionFailedError(String message) { 14 | super(defaultString(message)); 15 | } 16 | 17 | private static String defaultString(String message) { 18 | return message == null ? "" : message; 19 | } 20 | } -------------------------------------------------------------------------------- /test/083-compiler-regressions/info.txt: -------------------------------------------------------------------------------- 1 | This is a miscellaneous test that was imported into the new-at-the-time 2 | runtime test framework. The test is intended to exercise basic features, 3 | and as such cannot be build on top of junit, since failure of such basic 4 | features might disrupt junit. 5 | 6 | This test covers JIT regressions 7 | 8 | 2296099 JIT shift bug 9 | 2302318 Crash during spin-on-suspend testing 10 | 2487514 Missed exception in PriorityBlockingQueueTest.testToArray1_BadArg 11 | 5884080 ICS JIT regression in nested loop formation 12 | largeFrame Stress large frame codegen 13 | -------------------------------------------------------------------------------- /test/084-class-init/expected.txt: -------------------------------------------------------------------------------- 1 | caught exception thrown during clinit 2 | Got expected EIIE for FIELD0 3 | Got expected NCDFE for FIELD0 4 | Got expected NCDFE for FIELD1 5 | Got expected 'hello!' from Exploder 6 | SlowInit static block pre-sleep 7 | SlowInit static block post-sleep 8 | MethodThread message 9 | Fields (child thread): 111222333444 10 | Fields (main thread): 111222333444 11 | checkStaticMethodInvokeAfterFailedClinit START 12 | checkStaticMethodInvokeAfterFailedClinit PASSED 13 | -------------------------------------------------------------------------------- /test/084-class-init/info.txt: -------------------------------------------------------------------------------- 1 | Test class initialization edge cases and race conditions. 2 | -------------------------------------------------------------------------------- /test/085-old-style-inner-class/expected.txt: -------------------------------------------------------------------------------- 1 | Class: Main$1 2 | getDeclaringClass(): (null) 3 | getEnclosingClass(): (null) 4 | getEnclosingMethod(): (null) 5 | Class: Main$2 6 | getDeclaringClass(): (null) 7 | getEnclosingClass(): (null) 8 | getEnclosingMethod(): (null) 9 | -------------------------------------------------------------------------------- /test/085-old-style-inner-class/info.txt: -------------------------------------------------------------------------------- 1 | Test that the conversion of an old-style (pre-1.5) inner class results 2 | in a loss of inner class reflection information. 3 | -------------------------------------------------------------------------------- /test/086-null-super/expected.txt: -------------------------------------------------------------------------------- 1 | Got expected ITE/NPE 2 | -------------------------------------------------------------------------------- /test/086-null-super/info.txt: -------------------------------------------------------------------------------- 1 | ClassLoader.loadClass() is expected to throw an exception, usually 2 | ClassNotFound, if it can't find the given Class, and not return null. 3 | 4 | This is a regression test for a defect in Dalvik, which was assuming 5 | that if there was no exception, the value returned would be non-null. 6 | 7 | This test is not expected to work for the reference implementation. 8 | -------------------------------------------------------------------------------- /test/087-gc-after-link/expected.txt: -------------------------------------------------------------------------------- 1 | Got expected ITE/NPE 2 | GC complete. 3 | -------------------------------------------------------------------------------- /test/087-gc-after-link/info.txt: -------------------------------------------------------------------------------- 1 | This test causes a linkage error, which calls dvmFreeClassInnards on 2 | the unlinked Class. 3 | 4 | This is a regression test for a defect in Dalvik, which was assuming 5 | that dvmFreeClassInnards could be called twice on the same class. 6 | 7 | This test is a modified version of test 086. 8 | This test is not expected to work for the reference implementation. 9 | -------------------------------------------------------------------------------- /test/088-monitor-verification/expected.txt: -------------------------------------------------------------------------------- 1 | recursiveSync ok 2 | nestedMayThrow ok 3 | constantLock ok 4 | excessiveNesting ok 5 | notNested ok 6 | twoPath ok 7 | triplet ok 8 | -------------------------------------------------------------------------------- /test/088-monitor-verification/info.txt: -------------------------------------------------------------------------------- 1 | Try different arrangements of "synchronized" to exercise the structured 2 | lock checks in the bytecode verifier. 3 | -------------------------------------------------------------------------------- /test/089-many-methods/expected.txt: -------------------------------------------------------------------------------- 1 | 2 | trouble writing output: Too many field references: 131000; max is 65536. 3 | You may try using --multi-dex option. 4 | References by package: 5 | 131000 default 6 | build exit status: 2 7 | -------------------------------------------------------------------------------- /test/089-many-methods/info.txt: -------------------------------------------------------------------------------- 1 | Test that we print a reasonable message when the application exceeds more 2 | than 65536 methods. 3 | -------------------------------------------------------------------------------- /test/090-loop-formation/expected.txt: -------------------------------------------------------------------------------- 1 | counter1 is 0 2 | counter2 is 32767 3 | counter3 is 32767 4 | counter4 is 0 5 | counter5 is 65534 6 | 256 7 | -------------------------------------------------------------------------------- /test/090-loop-formation/info.txt: -------------------------------------------------------------------------------- 1 | Test loop formation heuristics and code generation. Basically the problem to 2 | catch here is to make sure that some never-exercised code blocks are included 3 | in the loop region, and the JIT compiler won't choke on unresolved fields. 4 | -------------------------------------------------------------------------------- /test/092-locale/expected.txt: -------------------------------------------------------------------------------- 1 | USA(GMT): Sunday, January 1, 2012 2 | USA: first=1, name=Sunday 3 | France(GMT): Monday, January 2, 2012 4 | France: first=2, name=lundi 5 | USA dfs: [AM, PM] 6 | en_US: USD $2 7 | jp_JP: JPY ¥0 8 | Normalizer passed 9 | loc: en_US 10 | iso3=eng 11 | loc: eng_USA 12 | iso3=eng 13 | -------------------------------------------------------------------------------- /test/092-locale/info.txt: -------------------------------------------------------------------------------- 1 | Exercise some locale-specific classes. 2 | -------------------------------------------------------------------------------- /test/093-serialization/expected.txt: -------------------------------------------------------------------------------- 1 | one=true two=2 three=three four=4.0 five=5.0 six=6 seven=7 eight=8 nine=9 thing=X 2 | x=cafef00d 3 | -------------------------------------------------------------------------------- /test/093-serialization/info.txt: -------------------------------------------------------------------------------- 1 | Tests object serialization. 2 | -------------------------------------------------------------------------------- /test/094-pattern/expected.txt: -------------------------------------------------------------------------------- 1 | str1 matches: true 2 | str2 matches: false 3 | str3 matches: true 4 | -------------------------------------------------------------------------------- /test/094-pattern/info.txt: -------------------------------------------------------------------------------- 1 | A simple test to exercise pattern matching. 2 | 3 | The test may throw a StackOverflowError if the stack size is too small. With 4 | some regex libs, -Xss65k is the minimum allowable size. 5 | -------------------------------------------------------------------------------- /test/095-switch-MAX_INT/expected.txt: -------------------------------------------------------------------------------- 1 | good 2 | -------------------------------------------------------------------------------- /test/095-switch-MAX_INT/info.txt: -------------------------------------------------------------------------------- 1 | Bug: http://code.google.com/p/android/issues/detail?id=22344 2 | -------------------------------------------------------------------------------- /test/095-switch-MAX_INT/src/Main.java: -------------------------------------------------------------------------------- 1 | public class Main { 2 | static public void main(String[] args) throws Exception { 3 | switch (0x7fffffff) { 4 | case 0x7fffffff: 5 | System.err.println("good"); 6 | break; 7 | default: 8 | throw new AssertionError(); 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/096-array-copy-concurrent-gc/expected.txt: -------------------------------------------------------------------------------- 1 | Initializing... 2 | Starting the test 3 | Test OK 4 | -------------------------------------------------------------------------------- /test/096-array-copy-concurrent-gc/info.txt: -------------------------------------------------------------------------------- 1 | This is a test to verify that System.arraycopy works nice together with 2 | the concurrent gc. 3 | -------------------------------------------------------------------------------- /test/097-duplicate-method/expected.txt: -------------------------------------------------------------------------------- 1 | Success! 2 | -------------------------------------------------------------------------------- /test/097-duplicate-method/info.txt: -------------------------------------------------------------------------------- 1 | This is a test to verify that duplicate methods in a dex file are handled 2 | properly (all but the first are ignored). 3 | -------------------------------------------------------------------------------- /test/098-ddmc/info.txt: -------------------------------------------------------------------------------- 1 | Tests of private org.apache.harmony.dalvik.ddmc.* APIs used for ddms support. 2 | -------------------------------------------------------------------------------- /test/099-vmdebug/expected.txt: -------------------------------------------------------------------------------- 1 | Confirm enable/disable 2 | status=0 3 | status=1 4 | status=0 5 | Confirm sampling 6 | status=2 7 | status=0 8 | Test starting when already started 9 | status=1 10 | status=1 11 | Test stopping when already stopped 12 | status=0 13 | status=0 14 | Test tracing with empty filename 15 | Got expected exception 16 | Test tracing with bogus (< 1024 && != 0) filesize 17 | Got expected exception 18 | Test sampling with bogus (<= 0) interval 19 | Got expected exception 20 | -------------------------------------------------------------------------------- /test/099-vmdebug/info.txt: -------------------------------------------------------------------------------- 1 | Tests of private dalvik.system.VMDebug support for method tracing. 2 | -------------------------------------------------------------------------------- /test/100-reflect2/info.txt: -------------------------------------------------------------------------------- 1 | Another set of reflection tests. -------------------------------------------------------------------------------- /test/101-fibonacci/expected.txt: -------------------------------------------------------------------------------- 1 | fibonacci(10)=55 2 | fibonacci(11)=89 3 | -------------------------------------------------------------------------------- /test/101-fibonacci/info.txt: -------------------------------------------------------------------------------- 1 | Computes fibonacci. 2 | -------------------------------------------------------------------------------- /test/102-concurrent-gc/expected.txt: -------------------------------------------------------------------------------- 1 | Test complete 2 | -------------------------------------------------------------------------------- /test/102-concurrent-gc/info.txt: -------------------------------------------------------------------------------- 1 | Test that attempts to hide objects from a concurrently running GC. The 2 | concurrent GC should locate the "hidden" objects through a write-barrier. 3 | -------------------------------------------------------------------------------- /test/103-string-append/expected.txt: -------------------------------------------------------------------------------- 1 | Test complete 2 | -------------------------------------------------------------------------------- /test/103-string-append/info.txt: -------------------------------------------------------------------------------- 1 | Simple test that triggers GC by appending to a String. 2 | -------------------------------------------------------------------------------- /test/104-growth-limit/expected.txt: -------------------------------------------------------------------------------- 1 | Test complete 2 | -------------------------------------------------------------------------------- /test/104-growth-limit/info.txt: -------------------------------------------------------------------------------- 1 | Tests that the growth limit, used to impose the small and large Android 2 | conventions, can be cleared and the resulting heap is at least as large 3 | as the growth limited heap. 4 | -------------------------------------------------------------------------------- /test/105-invoke/expected.txt: -------------------------------------------------------------------------------- 1 | invoke PASSED 2 | -------------------------------------------------------------------------------- /test/105-invoke/info.txt: -------------------------------------------------------------------------------- 1 | Tests simple method dispatch. 2 | -------------------------------------------------------------------------------- /test/106-exceptions2/expected.txt: -------------------------------------------------------------------------------- 1 | nullCheckTestNoThrow PASSED 2 | nullCheckTestThrow PASSED 3 | checkAIOBE PASSED 4 | checkDivZero PASSED 5 | -------------------------------------------------------------------------------- /test/106-exceptions2/info.txt: -------------------------------------------------------------------------------- 1 | Test runtime exceptions for potential regressions caused by the compiler. 2 | -------------------------------------------------------------------------------- /test/107-int-math2/info.txt: -------------------------------------------------------------------------------- 1 | A forked and extended version of IntMath from 003-omnibus-opcodes. 2 | TODO: fold back into 003-omnibus-opcodes. 3 | -------------------------------------------------------------------------------- /test/108-check-cast/expected.txt: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /test/108-check-cast/info.txt: -------------------------------------------------------------------------------- 1 | This test relies on the correct behavior of instance-of to test check-cast behavior, 2 | as shown below: 3 | 4 | 5 | CCE throw| InstanceOf | Correct? 6 | ---------+------------+---------- 7 | 1 | 0 | OK 8 | 1 | 1 | BAD 9 | 0 | 0 | BAD 10 | 0 | 1 | OK -------------------------------------------------------------------------------- /test/109-suspend-check/expected.txt: -------------------------------------------------------------------------------- 1 | Running (5 seconds) ... 2 | . 3 | . 4 | . 5 | . 6 | . 7 | Done. 8 | -------------------------------------------------------------------------------- /test/109-suspend-check/info.txt: -------------------------------------------------------------------------------- 1 | To support garbage collection, debugging and profiling the VM must be able to send all threads 2 | to a safepoint. This tests the ability of the VM to do this for a tight loop. 3 | -------------------------------------------------------------------------------- /test/110-field-access/expected.txt: -------------------------------------------------------------------------------- 1 | Starting test 2 | Test complete 3 | -------------------------------------------------------------------------------- /test/110-field-access/info.txt: -------------------------------------------------------------------------------- 1 | Test code generation for field accesses. 2 | 3 | -------------------------------------------------------------------------------- /test/111-unresolvable-exception/expected.txt: -------------------------------------------------------------------------------- 1 | Got expected exception. 2 | -------------------------------------------------------------------------------- /test/111-unresolvable-exception/info.txt: -------------------------------------------------------------------------------- 1 | Test that we do not segfault when we check a catch handler 2 | for an unresolvable exception. 3 | -------------------------------------------------------------------------------- /test/112-double-math/expected.txt: -------------------------------------------------------------------------------- 1 | cond_neg_double PASSED 2 | -------------------------------------------------------------------------------- /test/112-double-math/info.txt: -------------------------------------------------------------------------------- 1 | This checks the neg_double bytecode. 2 | -------------------------------------------------------------------------------- /test/113-multidex/expected.txt: -------------------------------------------------------------------------------- 1 | FillerA 2 | Second 3 | Second::zcall 4 | Second::zcall1 5 | Second::zcall2 6 | Second::zcall3 7 | Second::zcall4 8 | Second::zcall5 9 | Second::zcall6 10 | Second::zcall7 11 | Second::zcall8 12 | Second::zcall9 13 | -------------------------------------------------------------------------------- /test/113-multidex/info.txt: -------------------------------------------------------------------------------- 1 | Test whether we can run code from an application split into multiple dex files (similar to 2 | MultiDex). 3 | -------------------------------------------------------------------------------- /test/114-ParallelGC/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/114-ParallelGC/expected.txt -------------------------------------------------------------------------------- /test/114-ParallelGC/info.txt: -------------------------------------------------------------------------------- 1 | Imported from oat tests. Allocates and frees objects with multiple threads. 2 | -------------------------------------------------------------------------------- /test/115-native-bridge/info.txt: -------------------------------------------------------------------------------- 1 | Test for the native bridge interface. 2 | -------------------------------------------------------------------------------- /test/116-nodex2oat/expected.txt: -------------------------------------------------------------------------------- 1 | Run -Xnodex2oat 2 | Has oat is false, is dex2oat enabled is false. 3 | Run -Xdex2oat 4 | Has oat is true, is dex2oat enabled is true. 5 | Run default 6 | Has oat is true, is dex2oat enabled is true. 7 | -------------------------------------------------------------------------------- /test/116-nodex2oat/info.txt: -------------------------------------------------------------------------------- 1 | Test that disables dex2oat'ing the application. 2 | -------------------------------------------------------------------------------- /test/117-nopatchoat/expected.txt: -------------------------------------------------------------------------------- 1 | Run without dex2oat/patchoat 2 | dex2oat & patchoat are disabled, has oat is true, has executable oat is expected. 3 | This is a function call 4 | Run with dexoat/patchoat 5 | dex2oat & patchoat are enabled, has oat is true, has executable oat is expected. 6 | This is a function call 7 | Run default 8 | dex2oat & patchoat are enabled, has oat is true, has executable oat is expected. 9 | This is a function call 10 | -------------------------------------------------------------------------------- /test/117-nopatchoat/info.txt: -------------------------------------------------------------------------------- 1 | Test that disables patchoat'ing the application. 2 | -------------------------------------------------------------------------------- /test/118-noimage-dex2oat/expected.txt: -------------------------------------------------------------------------------- 1 | Run -Xnoimage-dex2oat 2 | Has image is false, is image dex2oat enabled is false, is BOOTCLASSPATH on disk is false. 3 | testB18485243 PASS 4 | Run -Xnoimage-dex2oat -Xno-dex-file-fallback 5 | Failed to initialize runtime (check log for details) 6 | Run -Ximage-dex2oat 7 | Has image is true, is image dex2oat enabled is true, is BOOTCLASSPATH on disk is true. 8 | testB18485243 PASS 9 | Run default 10 | Has image is true, is image dex2oat enabled is true, is BOOTCLASSPATH on disk is true. 11 | testB18485243 PASS 12 | -------------------------------------------------------------------------------- /test/118-noimage-dex2oat/info.txt: -------------------------------------------------------------------------------- 1 | Test that disables dex2oat'ing the image. 2 | -------------------------------------------------------------------------------- /test/118-noimage-dex2oat/smali/b_18485243.smali: -------------------------------------------------------------------------------- 1 | .class public LB18485243; 2 | .super Ljava/lang/Object; 3 | .source "b_18485243.smali" 4 | 5 | .method public constructor ()V 6 | .registers 2 7 | invoke-direct {p0}, Ljava/lang/Object;->()V 8 | return-void 9 | .end method 10 | 11 | .method private static toInt()I 12 | .registers 1 13 | const v0, 0 14 | return v0 15 | .end method 16 | 17 | .method public run()I 18 | .registers 3 19 | invoke-direct {p0}, LB18485243;->toInt()I 20 | move-result v0 21 | return v0 22 | .end method 23 | -------------------------------------------------------------------------------- /test/119-noimage-patchoat/expected.txt: -------------------------------------------------------------------------------- 1 | Run -Xnoimage-dex2oat -Xpatchoat:/system/bin/false 2 | Has image is false, is image dex2oat enabled is false. 3 | Run -Xnoimage-dex2oat -Xpatchoat:/system/bin/false -Xno-dex-file-fallback 4 | Failed to initialize runtime (check log for details) 5 | Run -Ximage-dex2oat 6 | Has image is true, is image dex2oat enabled is true. 7 | Run default 8 | Has image is true, is image dex2oat enabled is true. 9 | -------------------------------------------------------------------------------- /test/119-noimage-patchoat/info.txt: -------------------------------------------------------------------------------- 1 | Test that disables patchoat'ing the image. 2 | -------------------------------------------------------------------------------- /test/120-hashcode/expected.txt: -------------------------------------------------------------------------------- 1 | Done. 2 | -------------------------------------------------------------------------------- /test/120-hashcode/info.txt: -------------------------------------------------------------------------------- 1 | Check that object hashCode and System.identityHashCode never cause the hash to change. -------------------------------------------------------------------------------- /test/121-modifiers/classes/A$B.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/121-modifiers/classes/A$B.class -------------------------------------------------------------------------------- /test/121-modifiers/classes/A$C.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/121-modifiers/classes/A$C.class -------------------------------------------------------------------------------- /test/121-modifiers/classes/A.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/121-modifiers/classes/A.class -------------------------------------------------------------------------------- /test/121-modifiers/classes/Inf.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/121-modifiers/classes/Inf.class -------------------------------------------------------------------------------- /test/121-modifiers/classes/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/121-modifiers/classes/Main.class -------------------------------------------------------------------------------- /test/121-modifiers/classes/NonInf.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/121-modifiers/classes/NonInf.class -------------------------------------------------------------------------------- /test/121-modifiers/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/121-modifiers/expected.txt -------------------------------------------------------------------------------- /test/121-modifiers/info.txt: -------------------------------------------------------------------------------- 1 | This is a test checking the modifier (access flags) handling of ART. 2 | -------------------------------------------------------------------------------- /test/121-simple-suspend-check/expected.txt: -------------------------------------------------------------------------------- 1 | PASS 2 | -------------------------------------------------------------------------------- /test/121-simple-suspend-check/info.txt: -------------------------------------------------------------------------------- 1 | Simple test to ensure the compiler emits suspend checks on loops. 2 | -------------------------------------------------------------------------------- /test/122-npe/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/122-npe/expected.txt -------------------------------------------------------------------------------- /test/122-npe/info.txt: -------------------------------------------------------------------------------- 1 | Test that our NPE checks and stack traces work. 2 | -------------------------------------------------------------------------------- /test/123-compiler-regressions-mt/expected.txt: -------------------------------------------------------------------------------- 1 | b17689750TestVolatile passed. 2 | b17689750TestMonitor passed. 3 | -------------------------------------------------------------------------------- /test/123-compiler-regressions-mt/info.txt: -------------------------------------------------------------------------------- 1 | This is a test for bad optimizations affecting multi-threaded program 2 | behavior. 3 | 4 | This test covers fixed AOT/JIT bugs to prevent regressions. 5 | 6 | 17689750 GVN assigns the same value names across MONITOR_ENTER and volatile reads. 7 | -------------------------------------------------------------------------------- /test/124-missing-classes/expected.txt: -------------------------------------------------------------------------------- 1 | Test Started 2 | testMissingFieldType caught NoClassDefFoundError 3 | testMissingMethodReturnType caught NoClassDefFoundError 4 | testMissingMethodParameterType caught NoClassDefFoundError 5 | testMissingInnerClass caught NoClassDefFoundError 6 | Test Finished 7 | -------------------------------------------------------------------------------- /test/124-missing-classes/info.txt: -------------------------------------------------------------------------------- 1 | Tests the effects of missing classes. 2 | -------------------------------------------------------------------------------- /test/125-gc-and-classloading/expected.txt: -------------------------------------------------------------------------------- 1 | PASS 2 | -------------------------------------------------------------------------------- /test/125-gc-and-classloading/info.txt: -------------------------------------------------------------------------------- 1 | Tests class loading and GC running in parallel. 2 | -------------------------------------------------------------------------------- /test/126-miranda-multidex/info.txt: -------------------------------------------------------------------------------- 1 | This test ensures that cross-dex-file Miranda methods are correctly resolved. 2 | See b/18193682 for details. 3 | -------------------------------------------------------------------------------- /test/127-secondarydex/expected.txt: -------------------------------------------------------------------------------- 1 | testSlowPathDirectInvoke 2 | Test 3 | Got null pointer exception 4 | Test 5 | -------------------------------------------------------------------------------- /test/127-secondarydex/info.txt: -------------------------------------------------------------------------------- 1 | Test features with a secondary dex file. 2 | 3 | - Regression test to ensure slow path of direct invoke does null check. 4 | -------------------------------------------------------------------------------- /test/128-reg-spilling-on-implicit-nullcheck/expected.txt: -------------------------------------------------------------------------------- 1 | t7q = 2 2 | -------------------------------------------------------------------------------- /test/128-reg-spilling-on-implicit-nullcheck/info.txt: -------------------------------------------------------------------------------- 1 | This is a compiler reggression test for missing reg spilling on implicit nullcheck. 2 | -------------------------------------------------------------------------------- /test/129-ThreadGetId/expected.txt: -------------------------------------------------------------------------------- 1 | Finishing 2 | -------------------------------------------------------------------------------- /test/129-ThreadGetId/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for b/18661622 2 | -------------------------------------------------------------------------------- /test/130-hprof/expected.txt: -------------------------------------------------------------------------------- 1 | Generated data. 2 | -------------------------------------------------------------------------------- /test/130-hprof/info.txt: -------------------------------------------------------------------------------- 1 | Dump the heap for this test. 2 | -------------------------------------------------------------------------------- /test/131-structural-change/expected.txt: -------------------------------------------------------------------------------- 1 | Should really reach here. 2 | Done. 3 | -------------------------------------------------------------------------------- /test/131-structural-change/info.txt: -------------------------------------------------------------------------------- 1 | Check whether a structural change in a (non-native) multi-dex scenario is detected. 2 | -------------------------------------------------------------------------------- /test/132-daemon-locks-shutdown/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/132-daemon-locks-shutdown/expected.txt -------------------------------------------------------------------------------- /test/132-daemon-locks-shutdown/info.txt: -------------------------------------------------------------------------------- 1 | Tests that we can shut down the runtime with daemons still looping over locks. 2 | -------------------------------------------------------------------------------- /test/133-static-invoke-super/expected.txt: -------------------------------------------------------------------------------- 1 | basis: performed 50000000 iterations 2 | test1: performed 50000000 iterations 3 | Timing is acceptable. 4 | -------------------------------------------------------------------------------- /test/133-static-invoke-super/info.txt: -------------------------------------------------------------------------------- 1 | This is a performance test of invoking static methods in super class. To see the numbers, invoke 2 | this test with the "--timing" option. 3 | -------------------------------------------------------------------------------- /test/134-nodex2oat-nofallback/info.txt: -------------------------------------------------------------------------------- 1 | Test that disables dex2oat'ing the application, and disable fallback. This is derived from test 2 | 116. It needs it separate test as it needs a custom check script. -------------------------------------------------------------------------------- /test/134-reg-promotion/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/134-reg-promotion/expected.txt -------------------------------------------------------------------------------- /test/134-reg-promotion/info.txt: -------------------------------------------------------------------------------- 1 | Test that a vreg value that was defined by a const 0 and is used is both ref 2 | and float operations is flushed to all home location. 3 | 4 | See: b/19417710, b/7250540 & b.android.com/147187 5 | -------------------------------------------------------------------------------- /test/135-MirandaDispatch/expected.txt: -------------------------------------------------------------------------------- 1 | Finishing 2 | -------------------------------------------------------------------------------- /test/135-MirandaDispatch/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for JIT related incompatible class changes caused by miranda methods. 2 | E.g. 3 | java.lang.IncompatibleClassChangeError: The method 'void Main$TheInterface.m()' was expected to be of type virtual but instead was found to be of type interface (declaration of 'java.lang.reflect.ArtMethod' appears in out/host/linux-x86/framework/core-libart-hostdex.jar) 4 | at Main.DoStuff(Main.java:37) 5 | at Main.main(Main.java:44) 6 | 7 | -------------------------------------------------------------------------------- /test/137-cfi/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/137-cfi/expected.txt -------------------------------------------------------------------------------- /test/137-cfi/info.txt: -------------------------------------------------------------------------------- 1 | Test that unwinding with CFI info works. 2 | -------------------------------------------------------------------------------- /test/138-duplicate-classes-check/expected.txt: -------------------------------------------------------------------------------- 1 | 10 2 | 10 3 | -------------------------------------------------------------------------------- /test/138-duplicate-classes-check/info.txt: -------------------------------------------------------------------------------- 1 | Check whether a duplicate class is detected. 2 | -------------------------------------------------------------------------------- /test/138-duplicate-classes-check2/expected.txt: -------------------------------------------------------------------------------- 1 | 10 2 | 10 3 | -------------------------------------------------------------------------------- /test/138-duplicate-classes-check2/info.txt: -------------------------------------------------------------------------------- 1 | Check whether a duplicate class is not detected, even though we compiled against one (but removed 2 | it before creating the dex file). 3 | -------------------------------------------------------------------------------- /test/139-register-natives/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/139-register-natives/expected.txt -------------------------------------------------------------------------------- /test/139-register-natives/info.txt: -------------------------------------------------------------------------------- 1 | Tests the correct order of RegisterNatives. 2 | -------------------------------------------------------------------------------- /test/140-dce-regression/expected.txt: -------------------------------------------------------------------------------- 1 | Passed 2 | -------------------------------------------------------------------------------- /test/140-dce-regression/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for quick dead code elimination. 2 | -------------------------------------------------------------------------------- /test/201-built-in-exception-detail-messages/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/201-built-in-exception-detail-messages/expected.txt -------------------------------------------------------------------------------- /test/201-built-in-exception-detail-messages/info.txt: -------------------------------------------------------------------------------- 1 | Tests of the built-in exceptions' detail messages. 2 | -------------------------------------------------------------------------------- /test/202-thread-oome/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/202-thread-oome/expected.txt -------------------------------------------------------------------------------- /test/202-thread-oome/info.txt: -------------------------------------------------------------------------------- 1 | Tests that we throw OOME if Thread.nativeCreate fails, rather than aborting. 2 | -------------------------------------------------------------------------------- /test/300-package-override/expected.txt: -------------------------------------------------------------------------------- 1 | passed 2 | -------------------------------------------------------------------------------- /test/300-package-override/info.txt: -------------------------------------------------------------------------------- 1 | Tests a dalvik bug where we'd allow subclasses to override package-protected 2 | methods. -------------------------------------------------------------------------------- /test/301-abstract-protected/expected.txt: -------------------------------------------------------------------------------- 1 | passed 2 | -------------------------------------------------------------------------------- /test/301-abstract-protected/info.txt: -------------------------------------------------------------------------------- 1 | Tests a dalvik bug where we'd treat an abstract method as an implementation 2 | of an interface method; the RI only cares about the visibility of the actual 3 | implementation in non-abstract subclasses. 4 | -------------------------------------------------------------------------------- /test/302-float-conversion/expected.txt: -------------------------------------------------------------------------------- 1 | Iteration Result is as expected 2 | inter4:2.0 3 | max_long:9223372036854775807 4 | -------------------------------------------------------------------------------- /test/302-float-conversion/info.txt: -------------------------------------------------------------------------------- 1 | Tests whether constant conversions of double values to long values are 2 | properly handled by the VM. For example, x86 systems using the x87 stack 3 | should not overflow under constant conversions. 4 | 5 | The second test checks the Load hoisting optimization for float pointing conversion. -------------------------------------------------------------------------------- /test/303-verification-stress/info.txt: -------------------------------------------------------------------------------- 1 | This is more a benchmark for the verifier than a real test. We create many 2 | classes, each one initializing a big array of string in its class initializer. 3 | This generates big methods in these classes. The goal is to stress the 4 | verifier on such method. 5 | 6 | Note: these classes are generated automatically. The number of classes and the 7 | size of string array can be modified in the script. 8 | -------------------------------------------------------------------------------- /test/304-method-tracing/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/304-method-tracing/expected.txt -------------------------------------------------------------------------------- /test/304-method-tracing/info.txt: -------------------------------------------------------------------------------- 1 | Test method tracing from command-line. 2 | -------------------------------------------------------------------------------- /test/401-optimizing-compiler/expected.txt: -------------------------------------------------------------------------------- 1 | In static method 2 | In static method with 2 args 1 2 3 | In static method with 5 args 1 2 3 4 5 4 | In static method with 7 args 1 2 3 4 5 6 7 5 | Forced GC 6 | java.lang.Error: Error 7 | Forced GC 8 | In static method with object arg class java.lang.Object 9 | Forced GC 10 | Forced GC 11 | Forced GC 12 | Forced GC 13 | Forced GC 14 | Forced GC 15 | -------------------------------------------------------------------------------- /test/401-optimizing-compiler/info.txt: -------------------------------------------------------------------------------- 1 | A set of tests for the optimizing compiler. They will incrementally cover what the 2 | optimizing compiler covers. 3 | -------------------------------------------------------------------------------- /test/402-optimizing-control-flow/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/402-optimizing-control-flow/expected.txt -------------------------------------------------------------------------------- /test/402-optimizing-control-flow/info.txt: -------------------------------------------------------------------------------- 1 | A set of tests for testing control flow instructions on the optimizing compiler. 2 | -------------------------------------------------------------------------------- /test/403-optimizing-long/expected.txt: -------------------------------------------------------------------------------- 1 | Long: 42 2 | -------------------------------------------------------------------------------- /test/403-optimizing-long/info.txt: -------------------------------------------------------------------------------- 1 | Tests long support on optimizing compiler. 2 | -------------------------------------------------------------------------------- /test/404-optimizing-allocator/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/404-optimizing-allocator/expected.txt -------------------------------------------------------------------------------- /test/404-optimizing-allocator/info.txt: -------------------------------------------------------------------------------- 1 | Initial tests for testing the optimizing compiler's register allocator. 2 | -------------------------------------------------------------------------------- /test/405-optimizing-long-allocator/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/405-optimizing-long-allocator/expected.txt -------------------------------------------------------------------------------- /test/405-optimizing-long-allocator/info.txt: -------------------------------------------------------------------------------- 1 | Tests with long for the optimizing compiler's register allocator. 2 | -------------------------------------------------------------------------------- /test/406-fields/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/406-fields/expected.txt -------------------------------------------------------------------------------- /test/406-fields/info.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/406-fields/info.txt -------------------------------------------------------------------------------- /test/407-arrays/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/407-arrays/expected.txt -------------------------------------------------------------------------------- /test/407-arrays/info.txt: -------------------------------------------------------------------------------- 1 | Simple tests for array accesses. 2 | -------------------------------------------------------------------------------- /test/408-move-bug/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/408-move-bug/expected.txt -------------------------------------------------------------------------------- /test/408-move-bug/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the register allocator in the optimizing 2 | compiler. Input moves where being overridden by sibling moves. 3 | -------------------------------------------------------------------------------- /test/409-materialized-condition/expected.txt: -------------------------------------------------------------------------------- 1 | foo1 2 | In do nothing. 3 | In if. 4 | foo2 5 | In do nothing. 6 | -------------------------------------------------------------------------------- /test/409-materialized-condition/info.txt: -------------------------------------------------------------------------------- 1 | Test that materialized conditions are evaluated correctly. 2 | -------------------------------------------------------------------------------- /test/410-floats/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/410-floats/expected.txt -------------------------------------------------------------------------------- /test/410-floats/info.txt: -------------------------------------------------------------------------------- 1 | Small tests involving floats and doubles. 2 | -------------------------------------------------------------------------------- /test/411-optimizing-arith/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/411-optimizing-arith/expected.txt -------------------------------------------------------------------------------- /test/411-optimizing-arith/info.txt: -------------------------------------------------------------------------------- 1 | Tests for basic arithmethic operations. 2 | -------------------------------------------------------------------------------- /test/412-new-array/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/412-new-array/expected.txt -------------------------------------------------------------------------------- /test/412-new-array/info.txt: -------------------------------------------------------------------------------- 1 | Simple tests for new-array, filled-new-array and fill-array-data. 2 | -------------------------------------------------------------------------------- /test/412-new-array/smali/filled_new_array_verify_error.smali: -------------------------------------------------------------------------------- 1 | .class public LFilledNewArrayVerifyError; 2 | 3 | .super Ljava/lang/Object; 4 | 5 | .method public static newRef(Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object; 6 | .registers 3 7 | filled-new-array {v1, v2}, [Ljava/lang/Integer; 8 | move-result-object v0 9 | return-object v0 10 | .end method 11 | -------------------------------------------------------------------------------- /test/413-regalloc-regression/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/413-regalloc-regression/expected.txt -------------------------------------------------------------------------------- /test/413-regalloc-regression/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the linear scan register allocator, that use to 2 | fail compiling removeElementAt in x86. 3 | -------------------------------------------------------------------------------- /test/414-optimizing-arith-sub/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/414-optimizing-arith-sub/expected.txt -------------------------------------------------------------------------------- /test/414-optimizing-arith-sub/info.txt: -------------------------------------------------------------------------------- 1 | Subtraction tests. 2 | -------------------------------------------------------------------------------- /test/414-static-fields/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/414-static-fields/expected.txt -------------------------------------------------------------------------------- /test/414-static-fields/info.txt: -------------------------------------------------------------------------------- 1 | Simple test for static field access. 2 | -------------------------------------------------------------------------------- /test/415-optimizing-arith-neg/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/415-optimizing-arith-neg/expected.txt -------------------------------------------------------------------------------- /test/415-optimizing-arith-neg/info.txt: -------------------------------------------------------------------------------- 1 | Tests for arithmetic negation operations. 2 | -------------------------------------------------------------------------------- /test/416-optimizing-arith-not/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/416-optimizing-arith-not/expected.txt -------------------------------------------------------------------------------- /test/416-optimizing-arith-not/info.txt: -------------------------------------------------------------------------------- 1 | Tests for bitwise not operations. 2 | -------------------------------------------------------------------------------- /test/416-optimizing-arith-not/smali/not.smali: -------------------------------------------------------------------------------- 1 | .class public LTestNot; 2 | 3 | .super Ljava/lang/Object; 4 | 5 | .method public static $opt$NotInt(I)I 6 | .registers 2 7 | not-int v0, v1 8 | return v0 9 | .end method 10 | 11 | .method public static $opt$NotLong(J)J 12 | .registers 4 13 | not-long v0, v2 14 | return-wide v0 15 | .end method 16 | -------------------------------------------------------------------------------- /test/417-optimizing-arith-div/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/417-optimizing-arith-div/expected.txt -------------------------------------------------------------------------------- /test/417-optimizing-arith-div/info.txt: -------------------------------------------------------------------------------- 1 | Tests for division operation. 2 | -------------------------------------------------------------------------------- /test/418-const-string/expected.txt: -------------------------------------------------------------------------------- 1 | Hello World 2 | Hello World 3 | -------------------------------------------------------------------------------- /test/418-const-string/info.txt: -------------------------------------------------------------------------------- 1 | Small test case for testing CONST_STRING. 2 | -------------------------------------------------------------------------------- /test/419-long-parameter/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/419-long-parameter/expected.txt -------------------------------------------------------------------------------- /test/419-long-parameter/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the long parameter passed both in stack and register 2 | on 32bits architectures. The move to hard float ABI makes it so that the 3 | register index does not necessarily match the stack index anymore. 4 | -------------------------------------------------------------------------------- /test/420-const-class/expected.txt: -------------------------------------------------------------------------------- 1 | class Main 2 | class Main 3 | class Main$Other 4 | class Main$Other 5 | class java.lang.System 6 | class java.lang.System 7 | Hello from OtherWithClinit 8 | 42 9 | class Main$OtherWithClinit 10 | 42 11 | class Main$OtherWithClinit 12 | class Main$OtherWithClinit2 13 | Hello from OtherWithClinit2 14 | 43 15 | class Main$OtherWithClinit2 16 | 43 17 | -------------------------------------------------------------------------------- /test/420-const-class/info.txt: -------------------------------------------------------------------------------- 1 | Test for the CONST_CLASS opcode. 2 | -------------------------------------------------------------------------------- /test/421-exceptions/expected.txt: -------------------------------------------------------------------------------- 1 | 1 2 | 3 3 | 4 4 | 1 5 | 4 6 | 1 7 | 4 8 | 1 9 | 4 10 | Caught class java.lang.RuntimeException 11 | 1 12 | 2 13 | 4 14 | 1 15 | 4 16 | 1 17 | 4 18 | 1 19 | 4 20 | Caught class java.lang.NullPointerException 21 | -------------------------------------------------------------------------------- /test/421-exceptions/info.txt: -------------------------------------------------------------------------------- 1 | Simple test for try/catch/throw. 2 | -------------------------------------------------------------------------------- /test/421-large-frame/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/421-large-frame/expected.txt -------------------------------------------------------------------------------- /test/421-large-frame/info.txt: -------------------------------------------------------------------------------- 1 | Tests for large stack frames. 2 | -------------------------------------------------------------------------------- /test/422-instanceof/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/422-instanceof/expected.txt -------------------------------------------------------------------------------- /test/422-instanceof/info.txt: -------------------------------------------------------------------------------- 1 | Tests for instanceof bytecode. 2 | -------------------------------------------------------------------------------- /test/422-type-conversion/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/422-type-conversion/expected.txt -------------------------------------------------------------------------------- /test/422-type-conversion/info.txt: -------------------------------------------------------------------------------- 1 | Tests for type conversions. 2 | -------------------------------------------------------------------------------- /test/423-invoke-interface/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/423-invoke-interface/expected.txt -------------------------------------------------------------------------------- /test/423-invoke-interface/info.txt: -------------------------------------------------------------------------------- 1 | invoke-interface test with hopefully enough interface methods to trigger 2 | a conflict in our imt table. 3 | -------------------------------------------------------------------------------- /test/424-checkcast/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/424-checkcast/expected.txt -------------------------------------------------------------------------------- /test/424-checkcast/info.txt: -------------------------------------------------------------------------------- 1 | Simple tests for the checkcast opcode. 2 | -------------------------------------------------------------------------------- /test/425-invoke-super/expected.txt: -------------------------------------------------------------------------------- 1 | Test started 2 | -------------------------------------------------------------------------------- /test/425-invoke-super/info.txt: -------------------------------------------------------------------------------- 1 | Tests the invoke-super opcode. 2 | -------------------------------------------------------------------------------- /test/426-monitor/expected.txt: -------------------------------------------------------------------------------- 1 | In static method 2 | In instance method 3 | In synchronized block 4 | In second instance method 5 | In second static method 6 | -------------------------------------------------------------------------------- /test/426-monitor/info.txt: -------------------------------------------------------------------------------- 1 | Simple tests for monitorenter/monitorexit. 2 | -------------------------------------------------------------------------------- /test/427-bitwise/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/427-bitwise/expected.txt -------------------------------------------------------------------------------- /test/427-bitwise/info.txt: -------------------------------------------------------------------------------- 1 | Tests for the and/or/xor opcodes. 2 | -------------------------------------------------------------------------------- /test/427-bounds/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/427-bounds/expected.txt -------------------------------------------------------------------------------- /test/427-bounds/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the optimizing compiler that used to incorrectly pass 2 | index and/or length to the pThrowArrayBounds entrypoint. 3 | -------------------------------------------------------------------------------- /test/428-optimizing-arith-rem/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/428-optimizing-arith-rem/expected.txt -------------------------------------------------------------------------------- /test/428-optimizing-arith-rem/info.txt: -------------------------------------------------------------------------------- 1 | Tests for modulo (rem) operation. 2 | -------------------------------------------------------------------------------- /test/429-ssa-builder/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/429-ssa-builder/expected.txt -------------------------------------------------------------------------------- /test/429-ssa-builder/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the type propagation phase of the optimizing 2 | compiler, that used to crash when dealing with phi floating-point 3 | equivalents. 4 | -------------------------------------------------------------------------------- /test/430-live-register-slow-path/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/430-live-register-slow-path/expected.txt -------------------------------------------------------------------------------- /test/430-live-register-slow-path/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the linear scan register allocator. It used 2 | to miscompute the number of live registers at a safepoint. 3 | -------------------------------------------------------------------------------- /test/431-optimizing-arith-shifts/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/431-optimizing-arith-shifts/expected.txt -------------------------------------------------------------------------------- /test/431-optimizing-arith-shifts/info.txt: -------------------------------------------------------------------------------- 1 | Tests for shift operations. 2 | -------------------------------------------------------------------------------- /test/431-type-propagation/expected.txt: -------------------------------------------------------------------------------- 1 | Enter 2 | -------------------------------------------------------------------------------- /test/431-type-propagation/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the SSA building of the optimizing 2 | compiler. See comment in smali file. 3 | -------------------------------------------------------------------------------- /test/432-optimizing-cmp/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/432-optimizing-cmp/expected.txt -------------------------------------------------------------------------------- /test/432-optimizing-cmp/info.txt: -------------------------------------------------------------------------------- 1 | Tests for compare operations. 2 | -------------------------------------------------------------------------------- /test/433-gvn/expected.txt: -------------------------------------------------------------------------------- 1 | 42 2 | -------------------------------------------------------------------------------- /test/433-gvn/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the optimizing compiler's GVN, that 2 | used to not take into account all side effects between 3 | a dominator and its dominated blocks. 4 | -------------------------------------------------------------------------------- /test/434-invoke-direct/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/434-invoke-direct/expected.txt -------------------------------------------------------------------------------- /test/434-invoke-direct/info.txt: -------------------------------------------------------------------------------- 1 | Tests that IllegalAccessError is thrown when a subclass invokes-direct a 2 | private method from the super class. 3 | -------------------------------------------------------------------------------- /test/434-shifter-operand/expected.txt: -------------------------------------------------------------------------------- 1 | false 2 | false 3 | true 4 | -------------------------------------------------------------------------------- /test/434-shifter-operand/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the arm backend of the optimizing 2 | compiler, that used to misuse ShifterOperand::CanHold. 3 | -------------------------------------------------------------------------------- /test/435-new-instance/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/435-new-instance/expected.txt -------------------------------------------------------------------------------- /test/435-new-instance/info.txt: -------------------------------------------------------------------------------- 1 | Tests that new-instance throws: 2 | - InstantiationError on interfaces and abstract classes 3 | - IllegalAccessError on inaccessible classes 4 | - NoClassDefFoundError on unknown classes 5 | 6 | This also verifies that we don't remove dead (code) new-instances which may 7 | throw. 8 | -------------------------------------------------------------------------------- /test/435-try-finally-without-catch/expected.txt: -------------------------------------------------------------------------------- 1 | In finally 2 | In finally 3 | In finally 4 | -------------------------------------------------------------------------------- /test/436-rem-float/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/436-rem-float/expected.txt -------------------------------------------------------------------------------- /test/436-rem-float/info.txt: -------------------------------------------------------------------------------- 1 | Tests for floating point modulo (rem) operation. 2 | -------------------------------------------------------------------------------- /test/436-shift-constant/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/436-shift-constant/expected.txt -------------------------------------------------------------------------------- /test/436-shift-constant/info.txt: -------------------------------------------------------------------------------- 1 | Regression tests for shift instructions and constants larger than 8bits. 2 | -------------------------------------------------------------------------------- /test/437-inline/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/437-inline/expected.txt -------------------------------------------------------------------------------- /test/437-inline/info.txt: -------------------------------------------------------------------------------- 1 | Tests inlining in the compiler. 2 | -------------------------------------------------------------------------------- /test/438-volatile/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/438-volatile/expected.txt -------------------------------------------------------------------------------- /test/438-volatile/info.txt: -------------------------------------------------------------------------------- 1 | Tests basic operations (set/get) on volatiles. 2 | -------------------------------------------------------------------------------- /test/439-npe/expected.txt: -------------------------------------------------------------------------------- 1 | $opt$setObjectField 2 | $opt$setIntField 3 | $opt$setFloatField 4 | $opt$setLongField 5 | $opt$setDoubleField 6 | $opt$setByteField 7 | $opt$setBooleanField 8 | $opt$setCharField 9 | $opt$setShortField 10 | $opt$getObjectField 11 | $opt$getIntField 12 | $opt$getFloatField 13 | $opt$getLongField 14 | $opt$getDoubleField 15 | $opt$getByteField 16 | $opt$getBooleanField 17 | $opt$getCharField 18 | $opt$getShortField 19 | -------------------------------------------------------------------------------- /test/439-npe/info.txt: -------------------------------------------------------------------------------- 1 | More tests for NullPointerExceptions to complement 122-npe. 2 | They check set/get to volatile fields. 3 | -------------------------------------------------------------------------------- /test/439-swap-double/expected.txt: -------------------------------------------------------------------------------- 1 | -26.0 2 | -24.0 3 | -22.0 4 | -20.0 5 | -------------------------------------------------------------------------------- /test/439-swap-double/info.txt: -------------------------------------------------------------------------------- 1 | Test for the optimizing compiler's parallel swap support in 2 | the presence of register pairs (in this case, doubles on ARM). 3 | -------------------------------------------------------------------------------- /test/440-stmp/expected.txt: -------------------------------------------------------------------------------- 1 | -118.0 2 | -------------------------------------------------------------------------------- /test/440-stmp/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing, that used to consider 2 | a S/D register a temp, while it conflicted with the 3 | hard-float calling convention. 4 | -------------------------------------------------------------------------------- /test/441-checker-inliner/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/441-checker-inliner/expected.txt -------------------------------------------------------------------------------- /test/441-checker-inliner/info.txt: -------------------------------------------------------------------------------- 1 | Tests inlining in the optimizing compiler. 2 | -------------------------------------------------------------------------------- /test/442-checker-constant-folding/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/442-checker-constant-folding/expected.txt -------------------------------------------------------------------------------- /test/442-checker-constant-folding/info.txt: -------------------------------------------------------------------------------- 1 | Tests constant folding in the optimizing compiler. 2 | -------------------------------------------------------------------------------- /test/443-not-bool-inline/expected.txt: -------------------------------------------------------------------------------- 1 | Hello World 2 2 | -------------------------------------------------------------------------------- /test/443-not-bool-inline/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing, who used a wrong instruction 2 | for simplifying Equals(foo, false); 3 | -------------------------------------------------------------------------------- /test/444-checker-nce/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/444-checker-nce/expected.txt -------------------------------------------------------------------------------- /test/444-checker-nce/info.txt: -------------------------------------------------------------------------------- 1 | Tests for NullCheck elimination. 2 | -------------------------------------------------------------------------------- /test/445-checker-licm/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/445-checker-licm/expected.txt -------------------------------------------------------------------------------- /test/445-checker-licm/info.txt: -------------------------------------------------------------------------------- 1 | Checker test for testing loop invariant code motion. 2 | -------------------------------------------------------------------------------- /test/446-checker-inliner2/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/446-checker-inliner2/expected.txt -------------------------------------------------------------------------------- /test/446-checker-inliner2/info.txt: -------------------------------------------------------------------------------- 1 | Tests inlining in the optimizing compiler. 2 | -------------------------------------------------------------------------------- /test/447-checker-inliner3/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/447-checker-inliner3/expected.txt -------------------------------------------------------------------------------- /test/447-checker-inliner3/info.txt: -------------------------------------------------------------------------------- 1 | Tests inlining in the optimizing compiler. 2 | -------------------------------------------------------------------------------- /test/448-multiple-returns/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/448-multiple-returns/expected.txt -------------------------------------------------------------------------------- /test/448-multiple-returns/info.txt: -------------------------------------------------------------------------------- 1 | Tests inlining of a pattern not generated by DX: multiple 2 | returns in a single method. 3 | -------------------------------------------------------------------------------- /test/449-checker-bce/expected.txt: -------------------------------------------------------------------------------- 1 | java.lang.ArrayIndexOutOfBoundsException: length=5; index=82 2 | -------------------------------------------------------------------------------- /test/449-checker-bce/info.txt: -------------------------------------------------------------------------------- 1 | Checker test for testing array bounds check elimination. 2 | -------------------------------------------------------------------------------- /test/450-checker-types/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/450-checker-types/expected.txt -------------------------------------------------------------------------------- /test/450-checker-types/info.txt: -------------------------------------------------------------------------------- 1 | Checker test for testing checked cast elimination. 2 | -------------------------------------------------------------------------------- /test/451-regression-add-float/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/451-regression-add-float/expected.txt -------------------------------------------------------------------------------- /test/451-regression-add-float/info.txt: -------------------------------------------------------------------------------- 1 | Tests a regression in float addition for optimizing. The second argument 2 | could be now be a constant for floating point numbers. 3 | -------------------------------------------------------------------------------- /test/451-spill-splot/expected.txt: -------------------------------------------------------------------------------- 1 | 85.0 2 | 45.0 3 | 20.0 4 | 56.0 5 | 20.0 6 | 20.0 7 | -------------------------------------------------------------------------------- /test/451-spill-splot/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the optimizing compiler and the 2 | way it spills intervals of different types. 3 | -------------------------------------------------------------------------------- /test/452-multiple-returns2/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/452-multiple-returns2/expected.txt -------------------------------------------------------------------------------- /test/452-multiple-returns2/info.txt: -------------------------------------------------------------------------------- 1 | Tests inlining of a pattern not generated by DX: multiple 2 | returns in a single method. 3 | -------------------------------------------------------------------------------- /test/453-not-byte/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/453-not-byte/expected.txt -------------------------------------------------------------------------------- /test/453-not-byte/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing, which was expecting int only on a not-int instruction. 2 | 3 | -------------------------------------------------------------------------------- /test/454-get-vreg/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/454-get-vreg/expected.txt -------------------------------------------------------------------------------- /test/454-get-vreg/info.txt: -------------------------------------------------------------------------------- 1 | Tests for inspecting DEX registers in a Java method. 2 | -------------------------------------------------------------------------------- /test/455-checker-gvn/expected.txt: -------------------------------------------------------------------------------- 1 | 14 2 | -------------------------------------------------------------------------------- /test/455-checker-gvn/info.txt: -------------------------------------------------------------------------------- 1 | Checker test for GVN. 2 | -------------------------------------------------------------------------------- /test/455-set-vreg/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/455-set-vreg/expected.txt -------------------------------------------------------------------------------- /test/455-set-vreg/info.txt: -------------------------------------------------------------------------------- 1 | Tests for setting DEX registers in a Java method. 2 | -------------------------------------------------------------------------------- /test/456-baseline-array-set/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/456-baseline-array-set/expected.txt -------------------------------------------------------------------------------- /test/456-baseline-array-set/info.txt: -------------------------------------------------------------------------------- 1 | Test for optimizing on x86, where we could run out 2 | of available registers when using the baseline register 3 | allocator. 4 | -------------------------------------------------------------------------------- /test/457-regs/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/457-regs/expected.txt -------------------------------------------------------------------------------- /test/457-regs/info.txt: -------------------------------------------------------------------------------- 1 | Tests debuggability of DEX registers. 2 | -------------------------------------------------------------------------------- /test/458-checker-instruction-simplification/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/458-checker-instruction-simplification/expected.txt -------------------------------------------------------------------------------- /test/458-checker-instruction-simplification/info.txt: -------------------------------------------------------------------------------- 1 | Tests arithmetic identities optimizations in the optimizing compiler. 2 | -------------------------------------------------------------------------------- /test/458-long-to-fpu/expected.txt: -------------------------------------------------------------------------------- 1 | 42 2 | 42 3 | -------------------------------------------------------------------------------- /test/458-long-to-fpu/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for x86's code generator, which had a bug in 2 | the long-to-float and long-to-double implementations. 3 | -------------------------------------------------------------------------------- /test/459-dead-phi/expected.txt: -------------------------------------------------------------------------------- 1 | 0.0 2 | -------------------------------------------------------------------------------- /test/459-dead-phi/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing when it is building the SSA form. 2 | -------------------------------------------------------------------------------- /test/460-multiple-returns3/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/460-multiple-returns3/expected.txt -------------------------------------------------------------------------------- /test/460-multiple-returns3/info.txt: -------------------------------------------------------------------------------- 1 | Tests inlining of a pattern not generated by DX: multiple 2 | returns in a single method. 3 | -------------------------------------------------------------------------------- /test/461-get-reference-vreg/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/461-get-reference-vreg/expected.txt -------------------------------------------------------------------------------- /test/461-get-reference-vreg/info.txt: -------------------------------------------------------------------------------- 1 | Tests for inspecting DEX registers holding references. 2 | -------------------------------------------------------------------------------- /test/462-checker-inlining-across-dex-files/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/462-checker-inlining-across-dex-files/expected.txt -------------------------------------------------------------------------------- /test/462-checker-inlining-across-dex-files/info.txt: -------------------------------------------------------------------------------- 1 | Check our inlining heuristics across dex files in optimizing. 2 | -------------------------------------------------------------------------------- /test/463-checker-boolean-simplifier/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/463-checker-boolean-simplifier/expected.txt -------------------------------------------------------------------------------- /test/463-checker-boolean-simplifier/info.txt: -------------------------------------------------------------------------------- 1 | Tests simplification of boolean NOT in optimizing compiler. 2 | -------------------------------------------------------------------------------- /test/464-checker-inline-sharpen-calls/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/464-checker-inline-sharpen-calls/expected.txt -------------------------------------------------------------------------------- /test/464-checker-inline-sharpen-calls/info.txt: -------------------------------------------------------------------------------- 1 | Check that we inline sharpen calls. 2 | -------------------------------------------------------------------------------- /test/465-checker-clinit-gvn/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/465-checker-clinit-gvn/expected.txt -------------------------------------------------------------------------------- /test/465-checker-clinit-gvn/info.txt: -------------------------------------------------------------------------------- 1 | Check that we GVN HClinitCheck instructions. 2 | -------------------------------------------------------------------------------- /test/466-get-live-vreg/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/466-get-live-vreg/expected.txt -------------------------------------------------------------------------------- /test/466-get-live-vreg/info.txt: -------------------------------------------------------------------------------- 1 | Tests for inspecting live DEX registers. The test must 2 | also pass for non-debuggable, as we need to know live DEX registers 3 | when de-opting. 4 | -------------------------------------------------------------------------------- /test/467-regalloc-pair/expected.txt: -------------------------------------------------------------------------------- 1 | In interface 2 | -------------------------------------------------------------------------------- /test/467-regalloc-pair/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing's register allocator 2 | that used to trip when compiling TestCase.testCase on x86. 3 | -------------------------------------------------------------------------------- /test/468-checker-bool-simplifier-regression/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/468-checker-bool-simplifier-regression/expected.txt -------------------------------------------------------------------------------- /test/468-checker-bool-simplifier-regression/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing's boolean simplifier 2 | that used to trip when a boolean value was the input of an If. 3 | -------------------------------------------------------------------------------- /test/469-condition-materialization-regression/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/469-condition-materialization-regression/expected.txt -------------------------------------------------------------------------------- /test/469-condition-materialization-regression/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing's code generator which wouldn't 2 | materialize a condition when used only by an environment. 3 | -------------------------------------------------------------------------------- /test/470-huge-method/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/470-huge-method/expected.txt -------------------------------------------------------------------------------- /test/470-huge-method/info.txt: -------------------------------------------------------------------------------- 1 | Test for huge method. 2 | -------------------------------------------------------------------------------- /test/471-deopt-environment/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/471-deopt-environment/expected.txt -------------------------------------------------------------------------------- /test/471-deopt-environment/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the bounds check elimination pass, which 2 | uses to generate a HDeoptimization instruction with an 3 | HEnvironment that does not have the uses lists updated. 4 | -------------------------------------------------------------------------------- /test/471-uninitialized-locals/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/471-uninitialized-locals/expected.txt -------------------------------------------------------------------------------- /test/471-uninitialized-locals/info.txt: -------------------------------------------------------------------------------- 1 | Regression for the optimizing for crashes during compilation of methods which 2 | use values before initializing them. 3 | -------------------------------------------------------------------------------- /test/472-type-propagation/expected.txt: -------------------------------------------------------------------------------- 1 | 4.3 2 | 1.2 3 | -------------------------------------------------------------------------------- /test/472-type-propagation/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing's type propagation: 2 | If a phi requests its inputs to be of a certain type, the inputs need 3 | to propagate that type to their users, as those users might be phis. 4 | -------------------------------------------------------------------------------- /test/472-unreachable-if-regression/expected.txt: -------------------------------------------------------------------------------- 1 | Test started. 2 | Successfully called UnreachableIf(). 3 | Successfully called UnreachablePackedSwitch(). 4 | -------------------------------------------------------------------------------- /test/472-unreachable-if-regression/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for crashes during compilation of methods which end 2 | with an if-cc or switch, i.e. there's a fall-through out of method code. 3 | Also tests a packed-switch with negative offset to its data. 4 | -------------------------------------------------------------------------------- /test/473-checker-inliner-constants/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/473-checker-inliner-constants/expected.txt -------------------------------------------------------------------------------- /test/473-checker-inliner-constants/info.txt: -------------------------------------------------------------------------------- 1 | Test whether inliner deduplicates constants. -------------------------------------------------------------------------------- /test/473-remove-dead-block/expected.txt: -------------------------------------------------------------------------------- 1 | 123368133 2 | -------------------------------------------------------------------------------- /test/473-remove-dead-block/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing's dead block removing: 2 | Removing from predecessors require remove successor otherwise 3 | CFG remains in an unexpected shape causing further crash of compiler. 4 | -------------------------------------------------------------------------------- /test/474-checker-boolean-input/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/474-checker-boolean-input/expected.txt -------------------------------------------------------------------------------- /test/474-checker-boolean-input/info.txt: -------------------------------------------------------------------------------- 1 | Tests if zero/one constants and integer Phis are accepted as boolean values. -------------------------------------------------------------------------------- /test/474-fp-sub-neg/expected.txt: -------------------------------------------------------------------------------- 1 | -0.0 2 | 0.0 3 | 0.0 4 | -0.0 5 | 0.0 6 | 0.0 7 | -------------------------------------------------------------------------------- /test/474-fp-sub-neg/info.txt: -------------------------------------------------------------------------------- 1 | Regression check for optimizing simplify instruction pass. 2 | 3 | A pair (sub, neg) should not be transforemd to (sub) for 4 | fp calculation because we can lose the sign of zero for 5 | the following expression: 6 | - ( A - B ) != B - A ; if B == A 7 | 8 | Addition or subtraction with fp zero should not be eliminated 9 | because: 10 | -0.0 + 0.0 = 0.0 11 | -0.0 - -0.0 = 0.0 12 | -------------------------------------------------------------------------------- /test/475-regression-inliner-ids/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/475-regression-inliner-ids/expected.txt -------------------------------------------------------------------------------- /test/475-regression-inliner-ids/info.txt: -------------------------------------------------------------------------------- 1 | Tests a regression when inlining a method with constants would lead to duplicate 2 | instruction IDs in the caller graph. -------------------------------------------------------------------------------- /test/475-simplify-mul-zero/expected.txt: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /test/475-simplify-mul-zero/info.txt: -------------------------------------------------------------------------------- 1 | Regression check for optimizing simplify instruction pass. 2 | Mul should expect zero constant as input. -------------------------------------------------------------------------------- /test/476-checker-ctor-memory-barrier/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/476-checker-ctor-memory-barrier/expected.txt -------------------------------------------------------------------------------- /test/476-checker-ctor-memory-barrier/info.txt: -------------------------------------------------------------------------------- 1 | Tests if we add memory barriers on constructors when needed (i.e when the 2 | class has final fields). 3 | -------------------------------------------------------------------------------- /test/476-clinit-check-inlining-static-invoke/expected.txt: -------------------------------------------------------------------------------- 1 | checkClinitCheckBeforeStaticMethodInvoke START 2 | checkClinitCheckBeforeStaticMethodInvoke PASSED 3 | -------------------------------------------------------------------------------- /test/476-clinit-check-inlining-static-invoke/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for a bug where an inlined call to a static method 2 | failed to emit a prior initialization check of the method's declaring 3 | class. 4 | -------------------------------------------------------------------------------- /test/477-checker-bound-type/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/477-checker-bound-type/expected.txt -------------------------------------------------------------------------------- /test/477-checker-bound-type/info.txt: -------------------------------------------------------------------------------- 1 | Tests that we only generate a bound type if we have relevant users. 2 | It also tests a code generator regression for GenerateTestAndBranch which 3 | didn't take into account NullConstants. 4 | -------------------------------------------------------------------------------- /test/477-long-to-float-conversion-precision/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/477-long-to-float-conversion-precision/expected.txt -------------------------------------------------------------------------------- /test/477-long-to-float-conversion-precision/info.txt: -------------------------------------------------------------------------------- 1 | Tests for type conversions precision. 2 | -------------------------------------------------------------------------------- /test/478-checker-clinit-check-pruning/expected.txt: -------------------------------------------------------------------------------- 1 | Main$ClassWithClinit1's static initializer 2 | Main$ClassWithClinit2's static initializer 3 | Main$ClassWithClinit3's static initializer 4 | Main$ClassWithClinit4's static initializer 5 | Main$ClassWithClinit5's static initializer 6 | Main$ClassWithClinit6's static initializer 7 | -------------------------------------------------------------------------------- /test/478-checker-clinit-check-pruning/info.txt: -------------------------------------------------------------------------------- 1 | Test ensuring class initializations checks (and load class instructions) 2 | added by the graph builder during the construction of a static invoke 3 | are properly pruned. 4 | -------------------------------------------------------------------------------- /test/478-checker-inliner-nested-loop/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/478-checker-inliner-nested-loop/expected.txt -------------------------------------------------------------------------------- /test/478-checker-inliner-nested-loop/info.txt: -------------------------------------------------------------------------------- 1 | Tests inlining into a nested loop. SSAChecker should verify that 2 | loop information was updated correctly. 3 | -------------------------------------------------------------------------------- /test/479-regression-implicit-null-check/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/479-regression-implicit-null-check/expected.txt -------------------------------------------------------------------------------- /test/479-regression-implicit-null-check/info.txt: -------------------------------------------------------------------------------- 1 | Tests a regression in which we moved the null check to an instruction which 2 | checked a different object. This lead to valid null checks being elided. 3 | -------------------------------------------------------------------------------- /test/480-checker-dead-blocks/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/480-checker-dead-blocks/expected.txt -------------------------------------------------------------------------------- /test/480-checker-dead-blocks/info.txt: -------------------------------------------------------------------------------- 1 | Test removal of dead blocks. -------------------------------------------------------------------------------- /test/481-regression-phi-cond/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/481-regression-phi-cond/expected.txt -------------------------------------------------------------------------------- /test/481-regression-phi-cond/info.txt: -------------------------------------------------------------------------------- 1 | Tests a regression in which simplification of a boolean selection could attempt 2 | to remove a Phi from the wrong instruction list. 3 | -------------------------------------------------------------------------------- /test/482-checker-loop-back-edge-use/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/482-checker-loop-back-edge-use/expected.txt -------------------------------------------------------------------------------- /test/482-checker-loop-back-edge-use/info.txt: -------------------------------------------------------------------------------- 1 | Tests the register allocator's optimization of adding synthesized uses 2 | at back edges. 3 | -------------------------------------------------------------------------------- /test/483-dce-block/expected.txt: -------------------------------------------------------------------------------- 1 | class Main 2 | -------------------------------------------------------------------------------- /test/483-dce-block/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing that used to crash 2 | compiling the `foo` method. 3 | -------------------------------------------------------------------------------- /test/484-checker-register-hints/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/484-checker-register-hints/expected.txt -------------------------------------------------------------------------------- /test/484-checker-register-hints/info.txt: -------------------------------------------------------------------------------- 1 | Checks that the register allocator does not punish other 2 | blocks because one block forced spilling. The block that 3 | forces the spilling should restore the registers at the merge 4 | point. 5 | -------------------------------------------------------------------------------- /test/485-checker-dce-loop-update/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/485-checker-dce-loop-update/expected.txt -------------------------------------------------------------------------------- /test/485-checker-dce-loop-update/info.txt: -------------------------------------------------------------------------------- 1 | Tests loop information update after DCE because block removal can disconnect loops, leaving other 2 | live blocks outside the loop they had been a member of. -------------------------------------------------------------------------------- /test/492-checker-inline-invoke-interface/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/492-checker-inline-invoke-interface/expected.txt -------------------------------------------------------------------------------- /test/492-checker-inline-invoke-interface/info.txt: -------------------------------------------------------------------------------- 1 | Checker test to ensure we can inline interface calls. 2 | -------------------------------------------------------------------------------- /test/498-type-propagation/expected.txt: -------------------------------------------------------------------------------- 1 | Enter 2 | -------------------------------------------------------------------------------- /test/498-type-propagation/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the SSA building of the optimizing 2 | compiler. See comment in smali file. 3 | -------------------------------------------------------------------------------- /test/499-bce-phi-array-length/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/499-bce-phi-array-length/expected.txt -------------------------------------------------------------------------------- /test/499-bce-phi-array-length/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for BCE phase of optimizing. See Main.java 2 | for a description of the bug. 3 | -------------------------------------------------------------------------------- /test/501-null-constant-dce/expected.txt: -------------------------------------------------------------------------------- 1 | Enter 2 | -------------------------------------------------------------------------------- /test/501-null-constant-dce/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the optimizing compiler. See comment in smali file. 2 | -------------------------------------------------------------------------------- /test/501-regression-packed-switch/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/501-regression-packed-switch/expected.txt -------------------------------------------------------------------------------- /test/501-regression-packed-switch/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the interpreter and optimizing's builder which used 2 | to trip when compiled code contained a packed switch with no targets. 3 | -------------------------------------------------------------------------------- /test/503-dead-instructions/expected.txt: -------------------------------------------------------------------------------- 1 | Enter 2 | -------------------------------------------------------------------------------- /test/503-dead-instructions/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the building phase of the optimizing 2 | compiler. See comment in smali file. 3 | -------------------------------------------------------------------------------- /test/504-regression-baseline-entry/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/504-regression-baseline-entry/expected.txt -------------------------------------------------------------------------------- /test/504-regression-baseline-entry/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the baseline compiler which required the entry block to fall 2 | through to the next block. -------------------------------------------------------------------------------- /test/505-simplifier-type-propagation/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/505-simplifier-type-propagation/expected.txt -------------------------------------------------------------------------------- /test/505-simplifier-type-propagation/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the optimizing compiler, where 2 | the code generators did not expect type conversion 3 | instructions from one type to the same type. 4 | -------------------------------------------------------------------------------- /test/506-verify-aput/expected.txt: -------------------------------------------------------------------------------- 1 | Enter 2 | -------------------------------------------------------------------------------- /test/506-verify-aput/info.txt: -------------------------------------------------------------------------------- 1 | Test that an aput on a null array is properly checked 2 | by the verifier. 3 | -------------------------------------------------------------------------------- /test/507-boolean-test/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/507-boolean-test/expected.txt -------------------------------------------------------------------------------- /test/507-boolean-test/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the optimizing compiler that used to 2 | crash when compiling (a ? 1 : 0) == 2. 3 | -------------------------------------------------------------------------------- /test/507-referrer/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/507-referrer/expected.txt -------------------------------------------------------------------------------- /test/507-referrer/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the optimizing compiler, which used 2 | to do incorrect access checks on static fields when inlining. 3 | -------------------------------------------------------------------------------- /test/508-referrer-method/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/508-referrer-method/expected.txt -------------------------------------------------------------------------------- /test/508-referrer-method/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the optimizing compiler, which used 2 | to do incorrect access checks on static calls when inlining. 3 | -------------------------------------------------------------------------------- /test/509-pre-header/expected.txt: -------------------------------------------------------------------------------- 1 | Enter 2 | -------------------------------------------------------------------------------- /test/509-pre-header/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the SimplifyCFG phase of optimizing. 2 | The invariant that the pre header of a loop header is the 3 | first predecessor was not preserved. 4 | -------------------------------------------------------------------------------- /test/511-clinit-interface/expected.txt: -------------------------------------------------------------------------------- 1 | Enter 2 | -------------------------------------------------------------------------------- /test/511-clinit-interface/info.txt: -------------------------------------------------------------------------------- 1 | Test that compilers don't crash when having to compile 2 | an interface method. 3 | -------------------------------------------------------------------------------- /test/513-array-deopt/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/513-array-deopt/expected.txt -------------------------------------------------------------------------------- /test/513-array-deopt/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the BCE phase of optimizing, 2 | that used to have wrong assumptions about array length bounds. 3 | -------------------------------------------------------------------------------- /test/514-shifts/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/514-shifts/expected.txt -------------------------------------------------------------------------------- /test/514-shifts/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing that used to miscompile 2 | shifts on ARM. 3 | -------------------------------------------------------------------------------- /test/515-dce-dominator/expected.txt: -------------------------------------------------------------------------------- 1 | Enter 2 | -------------------------------------------------------------------------------- /test/515-dce-dominator/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the DCE phase of optimizing, where 2 | we need to recompute the full dominance information of 3 | the graph when blocks get removed. 4 | -------------------------------------------------------------------------------- /test/516-dead-move-result/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/516-dead-move-result/expected.txt -------------------------------------------------------------------------------- /test/516-dead-move-result/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the graph builder in optimizing, 2 | where a move-result was bogus, but it passed the verifier 3 | because it was dead code. 4 | -------------------------------------------------------------------------------- /test/518-null-array-get/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/518-null-array-get/expected.txt -------------------------------------------------------------------------------- /test/518-null-array-get/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for Quick and Optimizing that used 2 | to crash on an aget-object + int-to-byte sequence 3 | (accepted by the verifier in the case the array was null). 4 | -------------------------------------------------------------------------------- /test/519-bound-load-class/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/519-bound-load-class/expected.txt -------------------------------------------------------------------------------- /test/519-bound-load-class/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the optimizing compiler that 2 | used to crash when a `HCheckCast` did not have a `HLoadClass` 3 | as second input. 4 | -------------------------------------------------------------------------------- /test/520-equivalent-phi/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/520-equivalent-phi/expected.txt -------------------------------------------------------------------------------- /test/520-equivalent-phi/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for the SSA building of the optimizing 2 | compiler. See comment in smali file. 3 | -------------------------------------------------------------------------------- /test/524-boolean-simplifier-regression/expected.txt: -------------------------------------------------------------------------------- 1 | Passed 2 | -------------------------------------------------------------------------------- /test/524-boolean-simplifier-regression/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing boolean simplifier. 2 | -------------------------------------------------------------------------------- /test/528-long-hint/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/528-long-hint/expected.txt -------------------------------------------------------------------------------- /test/528-long-hint/info.txt: -------------------------------------------------------------------------------- 1 | Regression test for optimizing that used to crash on x86 when 2 | allocating a wrong register pair. 3 | -------------------------------------------------------------------------------- /test/529-checker-rtp-bug/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/529-checker-rtp-bug/expected.txt -------------------------------------------------------------------------------- /test/529-checker-rtp-bug/info.txt: -------------------------------------------------------------------------------- 1 | Test that we set the proper types for objects (b/25008765). 2 | -------------------------------------------------------------------------------- /test/700-LoadArgRegs/info.txt: -------------------------------------------------------------------------------- 1 | Simple tests for passing int/float/long/double arguments. 2 | -------------------------------------------------------------------------------- /test/701-easy-div-rem/expected.txt: -------------------------------------------------------------------------------- 1 | Begin 2 | Int: checking some equally spaced dividends... 3 | Int: checking small dividends... 4 | Int: checking big dividends... 5 | Long: checking some equally spaced dividends... 6 | Long: checking small dividends... 7 | Long: checking big dividends... 8 | End 9 | -------------------------------------------------------------------------------- /test/701-easy-div-rem/info.txt: -------------------------------------------------------------------------------- 1 | Simple tests for checking easy division/reminder for int and longs. 2 | -------------------------------------------------------------------------------- /test/702-LargeBranchOffset/expected.txt: -------------------------------------------------------------------------------- 1 | 0 2 | 0 3 | 2 4 | 1 5 | 512 6 | -------------------------------------------------------------------------------- /test/702-LargeBranchOffset/info.txt: -------------------------------------------------------------------------------- 1 | Simple test to check if large branch offset works correctly. 2 | -------------------------------------------------------------------------------- /test/703-floating-point-div/expected.txt: -------------------------------------------------------------------------------- 1 | Done! 2 | -------------------------------------------------------------------------------- /test/703-floating-point-div/info.txt: -------------------------------------------------------------------------------- 1 | Simple tests to check floating point division. 2 | -------------------------------------------------------------------------------- /test/704-multiply-accumulate/expected.txt: -------------------------------------------------------------------------------- 1 | Done! 2 | -------------------------------------------------------------------------------- /test/704-multiply-accumulate/info.txt: -------------------------------------------------------------------------------- 1 | Tests for multiply accumulate operations. 2 | -------------------------------------------------------------------------------- /test/705-register-conflict/expected.txt: -------------------------------------------------------------------------------- 1 | 496.0 2 | -------------------------------------------------------------------------------- /test/705-register-conflict/info.txt: -------------------------------------------------------------------------------- 1 | Tests if blocked fp register work correctly on optimizing compiler. 2 | -------------------------------------------------------------------------------- /test/800-smali/expected.txt: -------------------------------------------------------------------------------- 1 | PackedSwitch 2 | b/17790197 3 | b/17978759 4 | FloatBadArgReg 5 | negLong 6 | sameFieldNames 7 | b/18380491 8 | invoke-super abstract 9 | BadCaseInOpRegRegReg 10 | CmpLong 11 | FloatIntConstPassing 12 | b/18718277 13 | b/18800943 (1) 14 | b/18800943 (2) 15 | MoveExc 16 | MoveExceptionOnEntry 17 | EmptySparseSwitch 18 | b/20224106 19 | b/21873167 20 | b/21614284 21 | b/21902684 22 | b/21863767 23 | b/21886894 24 | b/22080519 25 | b/21645819 26 | b/22244733 27 | b/22331663 28 | b/22331663 (pass) 29 | b/22331663 (fail) 30 | b/22881413 31 | b/20843113 32 | b/23201502 (float) 33 | b/23201502 (double) 34 | Done! 35 | -------------------------------------------------------------------------------- /test/800-smali/info.txt: -------------------------------------------------------------------------------- 1 | Smali-based tests. 2 | Will compile and run all the smali files in smali/ and run the test cases mentioned in src/Main.java. 3 | 4 | Obviously needs to run under Dalvik or ART. 5 | -------------------------------------------------------------------------------- /test/800-smali/smali/BadCaseInOpRegRegReg.smali: -------------------------------------------------------------------------------- 1 | .class public LBadCaseInOpRegRegReg; 2 | 3 | .super Ljava/lang/Object; 4 | 5 | .method public static getInt()I 6 | .registers 2 7 | const/4 v0, 0x0 8 | const/4 v1, 0x1 9 | add-int/2addr v0, v1 10 | add-int/lit8 v1, v0, 0x1 11 | mul-int v0, v1, v0 12 | return v0 13 | .end method 14 | -------------------------------------------------------------------------------- /test/800-smali/smali/CmpLong.smali: -------------------------------------------------------------------------------- 1 | .class public LCmpLong; 2 | .super Ljava/lang/Object; 3 | 4 | 5 | .method public constructor ()V 6 | .registers 1 7 | invoke-direct {p0}, Ljava/lang/Object;->()V 8 | return-void 9 | .end method 10 | 11 | .method public static run()I 12 | .registers 5000 13 | const-wide v100, 5678233453L 14 | move-wide/from16 v101, v100 15 | const-wide v4, 5678233453L 16 | cmp-long v0, v101, v4 17 | return v0 18 | .end method 19 | -------------------------------------------------------------------------------- /test/800-smali/smali/EmptySparseSwitch.smali: -------------------------------------------------------------------------------- 1 | .class public LEmptySparseSwitch; 2 | 3 | .super Ljava/lang/Object; 4 | 5 | .method public static run()V 6 | .registers 2 7 | 8 | const v0, 0 9 | 10 | sparse-switch v0, :SparseSwitch 11 | 12 | return-void 13 | 14 | :SparseSwitch 15 | .sparse-switch 16 | .end sparse-switch 17 | .end method 18 | -------------------------------------------------------------------------------- /test/800-smali/smali/FloatBadArgReg.smali: -------------------------------------------------------------------------------- 1 | .class public LFloatBadArgReg; 2 | 3 | .super Ljava/lang/Object; 4 | 5 | .method public static getInt(I)I 6 | .registers 2 7 | const/4 v0, 0x0 8 | if-ne v0, v0, :after 9 | float-to-int v0, v0 10 | :exit 11 | add-int/2addr v0, v1 12 | return v0 13 | :after 14 | move v1, v0 15 | goto :exit 16 | .end method 17 | -------------------------------------------------------------------------------- /test/800-smali/smali/PackedSwitch.smali: -------------------------------------------------------------------------------- 1 | .class public LPackedSwitch; 2 | 3 | .super Ljava/lang/Object; 4 | 5 | .method public static packedSwitch(I)I 6 | .registers 2 7 | 8 | const/4 v0, 0 9 | packed-switch v0, :switch_data 10 | goto :default 11 | 12 | :switch_data 13 | .packed-switch 0x0 14 | :case 15 | .end packed-switch 16 | 17 | :return 18 | return v1 19 | 20 | :default 21 | goto :return 22 | 23 | :case 24 | goto :return 25 | 26 | .end method 27 | -------------------------------------------------------------------------------- /test/800-smali/smali/b_17790197.smali: -------------------------------------------------------------------------------- 1 | .class public LB17790197; 2 | 3 | .super Ljava/lang/Object; 4 | 5 | .method public static getInt()I 6 | .registers 4 7 | const/16 v0, 100 8 | const/4 v1, 1 9 | const/4 v2, 7 10 | :loop 11 | if-eq v2, v0, :done 12 | add-int v2, v2, v1 13 | goto :loop 14 | :done 15 | add-float v3, v0, v1 16 | return v2 17 | .end method 18 | -------------------------------------------------------------------------------- /test/800-smali/smali/b_18380491AbstractBase.smali: -------------------------------------------------------------------------------- 1 | .class public LB18380491ActractBase; 2 | 3 | .super Ljava/lang/Object; 4 | 5 | .method public constructor ()V 6 | .locals 0 7 | invoke-direct {p0}, Ljava/lang/Object;->()V 8 | return-void 9 | .end method 10 | 11 | .method public abstract foo(I)I 12 | .end method 13 | -------------------------------------------------------------------------------- /test/800-smali/smali/b_18380491ConcreteClass.smali: -------------------------------------------------------------------------------- 1 | .class public LB18380491ConcreteClass; 2 | 3 | .super LB18380491ActractBase; 4 | 5 | .method public constructor ()V 6 | .locals 0 7 | invoke-direct {p0}, LB18380491ActractBase;->()V 8 | return-void 9 | .end method 10 | 11 | .method public foo(I)I 12 | .locals 1 13 | if-eqz p1, :invoke_super_abstract 14 | return p1 15 | :invoke_super_abstract 16 | invoke-super {p0, p1}, LB18380491ActractBase;->foo(I)I 17 | move-result v0 18 | return v0 19 | .end method 20 | -------------------------------------------------------------------------------- /test/800-smali/smali/b_18800943_1.smali: -------------------------------------------------------------------------------- 1 | .class public LB18800943_1; 2 | .super Ljava/lang/Object; 3 | 4 | # This constructor should fail verification as the object is not initialized by a super-call. 5 | .method public constructor ()V 6 | .registers 1 7 | nop 8 | return-void 9 | .end method 10 | -------------------------------------------------------------------------------- /test/800-smali/smali/b_18800943_2.smali: -------------------------------------------------------------------------------- 1 | .class public LB18800943_2; 2 | .super Ljava/lang/Object; 3 | 4 | # This constructor should fail verification as the object is not initialized by a super-call. 5 | .method public constructor ()V 6 | .registers 1 7 | const v0, 0x0 8 | return-void 9 | .end method 10 | -------------------------------------------------------------------------------- /test/800-smali/smali/b_20224106.smali: -------------------------------------------------------------------------------- 1 | .class public LB20224106; 2 | 3 | # Test that a hard + soft verifier failure in invoke-interface does not lead to 4 | # an order abort (the last failure must be hard). 5 | 6 | .super Ljava/lang/Object; 7 | 8 | .method public static run(LB20224106;Ljava/lang/Object;)V 9 | .registers 4 10 | # Two failure points here: 11 | # 1) There is a parameter type mismatch. The formal type is integral (int), but the actual 12 | # type is reference. 13 | # 2) The receiver is not an interface or Object 14 | invoke-interface {v2, v3}, Ljava/net/DatagramSocket;->checkPort(I)V 15 | return-void 16 | .end method 17 | -------------------------------------------------------------------------------- /test/800-smali/smali/b_21614284.smali: -------------------------------------------------------------------------------- 1 | .class public LB21614284; 2 | .super Ljava/lang/Object; 3 | 4 | .field private a:I 5 | 6 | .method public constructor ()V 7 | .registers 2 8 | invoke-direct {p0}, Ljava/lang/Object;->()V 9 | const v0, 42 10 | iput v0, p0, LB21614284;->a:I 11 | return-void 12 | .end method 13 | 14 | .method public static test(LB21614284;)I 15 | .registers 2 16 | # Empty if, testing p0. 17 | if-nez p0, :label 18 | :label 19 | # p0 still needs a null check. 20 | iget v0, p0, LB21614284;->a:I 21 | return v0 22 | .end method 23 | -------------------------------------------------------------------------------- /test/800-smali/smali/b_21645819.smali: -------------------------------------------------------------------------------- 1 | .class public LB21645819; 2 | .super Ljava/lang/Object; 3 | 4 | # The method declares a parameter of an inaccessible class. This should not abort/kill us. 5 | 6 | .method public static run(Lpkg/ProtectedClass;)V 7 | .registers 10 8 | return-void 9 | .end method -------------------------------------------------------------------------------- /test/800-smali/smali/b_21873167.smali: -------------------------------------------------------------------------------- 1 | .class public LB21873167; 2 | .super Ljava/lang/Object; 3 | 4 | .method public constructor ()V 5 | .registers 1 6 | invoke-direct {p0}, Ljava/lang/Object;->()V 7 | return-void 8 | .end method 9 | 10 | .method public test()V 11 | .registers 1 12 | :start 13 | monitor-enter p0 14 | monitor-exit p0 15 | :end 16 | return-void 17 | .catchall {:start .. :end} :end 18 | .end method 19 | -------------------------------------------------------------------------------- /test/800-smali/smali/b_21886894.smali: -------------------------------------------------------------------------------- 1 | .class public LB21886894; 2 | .super Ljava/lang/Object; 3 | 4 | .method public constructor ()V 5 | .registers 2 6 | invoke-direct {p0}, Ljava/lang/Object;->()V 7 | return-void 8 | .end method 9 | 10 | .method public test()V 11 | .registers 2 12 | const v0, 0 13 | iput-object v0, p0, Lsome/unresolved/Type;->a:I 14 | return-void 15 | .end method 16 | -------------------------------------------------------------------------------- /test/800-smali/smali/b_21902684.smali: -------------------------------------------------------------------------------- 1 | .class public LB21902684; 2 | .super Ljava/lang/Object; 3 | 4 | .method public constructor ()V 5 | .registers 1 6 | invoke-direct {p0}, Ljava/lang/Object;->()V 7 | return-void 8 | .end method 9 | 10 | .method public test()V 11 | .registers 1 12 | goto :end 13 | new-instance v0, Ljava/lang/String; 14 | invoke-direct {v0}, Ljava/lang/String;->()V 15 | :end 16 | return-void 17 | .end method 18 | -------------------------------------------------------------------------------- /test/800-smali/smali/b_22080519.smali: -------------------------------------------------------------------------------- 1 | .class public LB22080519; 2 | .super Ljava/lang/Object; 3 | 4 | .method public static run()V 5 | .registers 6 6 | :Label1 7 | const v1, 15 8 | const v2, 0 9 | # Have a branch to reach both the aget-object and something else. 10 | if-eqz v1, :Label2 11 | 12 | # This instruction will be marked runtime-throw. 13 | aget-object v3, v2, v1 14 | 15 | :Label2 16 | # This should *not* be flagged as a runtime throw 17 | goto :Label4 18 | 19 | :Label3 20 | move-exception v3 21 | throw v3 22 | 23 | :Label4 24 | return-void 25 | 26 | .catchall {:Label1 .. :Label3} :Label3 27 | .end method -------------------------------------------------------------------------------- /test/800-smali/smali/b_22244733.smali: -------------------------------------------------------------------------------- 1 | .class public LB22244733; 2 | .super Ljava/lang/Object; 3 | 4 | .method public static run(Ljava/lang/String;)Ljava/lang/String; 5 | .registers 2 # One local and one parameter. 6 | return-object p0 # Simple return, use the special-method path in Quick. 7 | .end method 8 | -------------------------------------------------------------------------------- /test/800-smali/smali/move_exc.smali: -------------------------------------------------------------------------------- 1 | .class public LMoveExc; 2 | .super Ljava/lang/Object; 3 | 4 | 5 | .method public constructor ()V 6 | .registers 1 7 | invoke-direct {p0}, Ljava/lang/Object;->()V 8 | return-void 9 | .end method 10 | 11 | .method public static run()V 12 | .registers 6 13 | :Label1 14 | const v1, 15 15 | const v2, 0 16 | div-int v0, v1, v2 17 | 18 | :Label2 19 | goto :Label4 20 | 21 | :Label3 22 | move-exception v3 23 | throw v3 24 | 25 | :Label4 26 | return-void 27 | 28 | .catchall {:Label1 .. :Label2} :Label3 29 | .end method 30 | -------------------------------------------------------------------------------- /test/800-smali/smali/move_exception_on_entry.smali: -------------------------------------------------------------------------------- 1 | .class public LMoveExceptionOnEntry; 2 | 3 | .super Ljava/lang/Object; 4 | 5 | # Test that we cannot have a catch-handler with move-exception at the beginning of a method. 6 | 7 | .method public static moveExceptionOnEntry(I)I 8 | .registers 4 9 | :Label1 10 | move-exception v2 11 | const v1, 100 12 | move v0, p0 13 | add-int/lit8 p0, p0, 1 14 | 15 | :Label2 16 | invoke-static {v0}, LMoveExceptionOnEntry;->foo(I)V 17 | 18 | :Label3 19 | return v1 20 | 21 | .catchall {:Label2 .. :Label3} :Label1 22 | .end method 23 | 24 | .method public static foo(I)I 25 | .registers 4 26 | :Label1 27 | return-void 28 | 29 | .end method 30 | 31 | -------------------------------------------------------------------------------- /test/801-VoidCheckCast/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/801-VoidCheckCast/classes.dex -------------------------------------------------------------------------------- /test/801-VoidCheckCast/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arter97/android_art/4b5fcb622254328b3aa7337d97ca687a3f2bf74d/test/801-VoidCheckCast/expected.txt -------------------------------------------------------------------------------- /test/801-VoidCheckCast/info.txt: -------------------------------------------------------------------------------- 1 | A test that is only available as a DEX binary. 2 | 3 | This tests that an attempt to use check-cast with the void type doesn't 4 | cause the compiler to crash. 5 | -------------------------------------------------------------------------------- /test/802-deoptimization/expected.txt: -------------------------------------------------------------------------------- 1 | CatchHandlerOnEntryWithoutMoveException OK 2 | -------------------------------------------------------------------------------- /test/802-deoptimization/info.txt: -------------------------------------------------------------------------------- 1 | Tests related to deoptimization 2 | -------------------------------------------------------------------------------- /test/MultiDex/main.jpp: -------------------------------------------------------------------------------- 1 | main: 2 | @@com.android.jack.annotations.ForceInMainDex 3 | class Main 4 | -------------------------------------------------------------------------------- /test/MultiDex/main.list: -------------------------------------------------------------------------------- 1 | Main.class 2 | -------------------------------------------------------------------------------- /test/MultiDexModifiedSecondary/README.txt: -------------------------------------------------------------------------------- 1 | MultiDexModifiedSecondary is designed to result in a multidex file that has 2 | the same classes.dex file as MultiDex, but a different classes2.dex. 3 | 4 | This is used in the OatFileAssistantTest.MultiDexSecondaryOutOfDate gtest. 5 | -------------------------------------------------------------------------------- /test/MultiDexModifiedSecondary/main.jpp: -------------------------------------------------------------------------------- 1 | main: 2 | @@com.android.jack.annotations.ForceInMainDex 3 | class Main 4 | -------------------------------------------------------------------------------- /test/MultiDexModifiedSecondary/main.list: -------------------------------------------------------------------------------- 1 | Main.class 2 | -------------------------------------------------------------------------------- /test/MyClass/MyClass.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | class MyClass {} 18 | -------------------------------------------------------------------------------- /test/README.txt: -------------------------------------------------------------------------------- 1 | VM test harness. 2 | 3 | Use "./run-all-tests" to run all tests, or "./run-test " to run a 4 | single test. Run "./run-test" with no arguments to see command flags; 5 | in particular, the tests can be run on the desktop, on a USB-attached 6 | device, or using the desktop "reference implementation". 7 | 8 | 9 | For most tests, the sources are in the "src" subdirectory. Sources found 10 | in the "src2" directory are compiled separately but to the same output 11 | directory; this can be used to exercise "API mismatch" situations by 12 | replacing class files created in the first pass. The "src-ex" directory 13 | is built separately, and is intended for exercising class loaders. 14 | -------------------------------------------------------------------------------- /test/XandY/X.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | class X {} 18 | -------------------------------------------------------------------------------- /test/XandY/Y.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | class Y extends X {} 18 | -------------------------------------------------------------------------------- /test/etc/default-run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2008 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec ${RUN} "$@" 18 | -------------------------------------------------------------------------------- /tools/dexfuzz/manifest.txt: -------------------------------------------------------------------------------- 1 | Main-Class: dexfuzz.DexFuzz 2 | --------------------------------------------------------------------------------