// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. #include "vm/compiler/assembler/disassembler.h" #include "vm/compiler/assembler/assembler.h" #include "vm/unit_test.h" #include "vm/virtual_memory.h" namespace dart { // TODO(vegorov) this test is disabled on DBC because there is no PopRegister // method on DBC assembler. #if !defined(PRODUCT) && !defined(TARGET_ARCH_DBC) ISOLATE_UNIT_TEST_CASE(Disassembler) { ObjectPoolBuilder object_pool_builder; Assembler assembler(&object_pool_builder); // The used instructions work on all platforms. Register reg = static_cast(0); assembler.PopRegister(reg); assembler.Stop("testing disassembler"); // Only verify that the disassembler does not crash. AssemblerTest test("Disassembler", &assembler); test.Assemble(); Disassembler::Disassemble(test.entry(), test.entry() + assembler.CodeSize()); } #endif // !PRODUCT } // namespace dart