Files
sdk/runtime/vm/disassembler_test.cc
T
regis@google.com 8d24d2b98a Implement ARM disassembler.
Implement ARM call patcher.
Review URL: https://codereview.chromium.org//12301042

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18769 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-20 17:28:35 +00:00

31 lines
1.0 KiB
C++

// 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/assembler.h"
#include "vm/disassembler.h"
#include "vm/unit_test.h"
#include "vm/virtual_memory.h"
namespace dart {
// Disassembler only supported on IA32, X64, and ARM.
#if defined(TARGET_ARCH_IA32) || \
defined(TARGET_ARCH_X64) || \
defined(TARGET_ARCH_ARM)
TEST_CASE(Disassembler) {
Assembler assembler;
// The used instructions work on all platforms.
Register reg = static_cast<Register>(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
} // namespace dart