src/share/vm/compiler/disassembler.hpp
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -20,10 +20,24 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
+#ifndef SHARE_VM_COMPILER_DISASSEMBLER_HPP
+#define SHARE_VM_COMPILER_DISASSEMBLER_HPP
+
+#include "runtime/globals.hpp"
+#ifdef TARGET_OS_FAMILY_linux
+# include "os_linux.inline.hpp"
+#endif
+#ifdef TARGET_OS_FAMILY_solaris
+# include "os_solaris.inline.hpp"
+#endif
+#ifdef TARGET_OS_FAMILY_windows
+# include "os_windows.inline.hpp"
+#endif
+
class decode_env;
// The disassembler prints out assembly code annotated
// with Java specific information.
@@ -45,15 +59,26 @@
static decode_func _decode_instructions;
// tries to load library and return whether it succedded.
static bool load_library();
// Machine dependent stuff
- #include "incls/_disassembler_pd.hpp.incl"
+#ifdef TARGET_ARCH_x86
+# include "disassembler_x86.hpp"
+#endif
+#ifdef TARGET_ARCH_sparc
+# include "disassembler_sparc.hpp"
+#endif
+#ifdef TARGET_ARCH_zero
+# include "disassembler_zero.hpp"
+#endif
+
public:
static bool can_decode() {
return (_decode_instructions != NULL) || load_library();
}
static void decode(CodeBlob *cb, outputStream* st = NULL);
static void decode(nmethod* nm, outputStream* st = NULL);
static void decode(address begin, address end, outputStream* st = NULL);
};
+
+#endif // SHARE_VM_COMPILER_DISASSEMBLER_HPP