6667042: PrintAssembly option does not work without special plugin

Remove old private plugin interface, simplify, rework old plugin to use unchanged Gnu sources

Reviewed-by: kvn, rasbold
This commit is contained in:
John R Rose 2008-04-02 12:09:59 -07:00
parent 0530e0d854
commit 0d27a8639f
43 changed files with 1675 additions and 629 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright 1997-1999 Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-2008 Sun Microsystems, Inc. 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
@ -22,30 +22,11 @@
*
*/
// The disassembler prints out sparc code annotated
// with Java specific information.
static int pd_instruction_alignment() {
return sizeof(int);
}
class Disassembler {
#ifndef PRODUCT
private:
// points to the library.
static void* _library;
// points to the print_insn_sparc function.
static dll_func _print_insn_sparc;
// tries to load library and return whether it succedded.
static bool load_library();
// decodes one instruction and return the start of the next instruction.
static address decode_instruction(address start, DisassemblerEnv* env);
#endif
public:
static void decode(CodeBlob *cb, outputStream* st = NULL) PRODUCT_RETURN;
static void decode(nmethod* nm, outputStream* st = NULL) PRODUCT_RETURN;
static void decode(u_char* begin, u_char* end, outputStream* st = NULL) PRODUCT_RETURN;
};
//Reconciliation History
// 1.9 98/04/29 10:45:51 disassembler_i486.hpp
// 1.10 98/05/11 16:47:20 disassembler_i486.hpp
// 1.12 99/06/22 16:37:37 disassembler_i486.hpp
// 1.13 99/08/06 10:09:04 disassembler_i486.hpp
//End
static const char* pd_cpu_opts() {
return (VM_Version::v9_instructions_work()?
(VM_Version::v8_instructions_work()? "" : "v9only") : "v8only");
}