src/hotspot/cpu/ppc/disassembler_ppc.hpp
changeset 54960 e46fe26d7f77
parent 53244 9807daeb47c4
--- a/src/hotspot/cpu/ppc/disassembler_ppc.hpp	Tue May 21 11:45:37 2019 +0200
+++ b/src/hotspot/cpu/ppc/disassembler_ppc.hpp	Tue May 21 15:51:35 2019 +0200
@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, 2013 SAP SE. All rights reserved.
+ * Copyright (c) 2012, 2019 SAP SE. 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
@@ -34,4 +34,23 @@
     return "ppc64";
   }
 
+  // Find preceding instruction.
+  //
+  // Starting at the passed location, the n-th preceding (towards lower addresses)
+  // location is searched, the contents of which - if interpreted as
+  // instructions - has the passed location as n-th successor.
+  //  - If no such location exists, NULL is returned. The caller should then
+  //    terminate its search and react properly.
+  static address find_prev_instr(address here, int n_instr);
+
+  // special-case instruction decoding.
+  // There may be cases where the binutils disassembler doesn't do
+  // the perfect job. In those cases, decode_instruction0 may kick in
+  // and do it right.
+  // If nothing had to be done, just return "here", otherwise return "here + instr_len(here)"
+  static address decode_instruction0(address here, outputStream* st, address virtual_begin = NULL);
+
+  // platform-specific instruction annotations (like value of loaded constants)
+  static void annotate(address pc, outputStream* st);
+
 #endif // CPU_PPC_DISASSEMBLER_PPC_HPP