src/hotspot/cpu/ppc/disassembler_ppc.hpp
changeset 54960 e46fe26d7f77
parent 53244 9807daeb47c4
equal deleted inserted replaced
54959:00425a850a2f 54960:e46fe26d7f77
     1 /*
     1 /*
     2  * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
     3  * Copyright (c) 2012, 2013 SAP SE. All rights reserved.
     3  * Copyright (c) 2012, 2019 SAP SE. All rights reserved.
     4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     5  *
     5  *
     6  * This code is free software; you can redistribute it and/or modify it
     6  * This code is free software; you can redistribute it and/or modify it
     7  * under the terms of the GNU General Public License version 2 only, as
     7  * under the terms of the GNU General Public License version 2 only, as
     8  * published by the Free Software Foundation.
     8  * published by the Free Software Foundation.
    32 
    32 
    33   static const char* pd_cpu_opts() {
    33   static const char* pd_cpu_opts() {
    34     return "ppc64";
    34     return "ppc64";
    35   }
    35   }
    36 
    36 
       
    37   // Find preceding instruction.
       
    38   //
       
    39   // Starting at the passed location, the n-th preceding (towards lower addresses)
       
    40   // location is searched, the contents of which - if interpreted as
       
    41   // instructions - has the passed location as n-th successor.
       
    42   //  - If no such location exists, NULL is returned. The caller should then
       
    43   //    terminate its search and react properly.
       
    44   static address find_prev_instr(address here, int n_instr);
       
    45 
       
    46   // special-case instruction decoding.
       
    47   // There may be cases where the binutils disassembler doesn't do
       
    48   // the perfect job. In those cases, decode_instruction0 may kick in
       
    49   // and do it right.
       
    50   // If nothing had to be done, just return "here", otherwise return "here + instr_len(here)"
       
    51   static address decode_instruction0(address here, outputStream* st, address virtual_begin = NULL);
       
    52 
       
    53   // platform-specific instruction annotations (like value of loaded constants)
       
    54   static void annotate(address pc, outputStream* st);
       
    55 
    37 #endif // CPU_PPC_DISASSEMBLER_PPC_HPP
    56 #endif // CPU_PPC_DISASSEMBLER_PPC_HPP