< prev index next >

src/share/vm/runtime/relocator.hpp

Print this page




  25 #ifndef SHARE_VM_RUNTIME_RELOCATOR_HPP
  26 #define SHARE_VM_RUNTIME_RELOCATOR_HPP
  27 
  28 #include "interpreter/bytecodes.hpp"
  29 #include "oops/method.hpp"
  30 #ifdef TARGET_ARCH_x86
  31 # include "bytes_x86.hpp"
  32 #endif
  33 #ifdef TARGET_ARCH_sparc
  34 # include "bytes_sparc.hpp"
  35 #endif
  36 #ifdef TARGET_ARCH_zero
  37 # include "bytes_zero.hpp"
  38 #endif
  39 #ifdef TARGET_ARCH_arm
  40 # include "bytes_arm.hpp"
  41 #endif
  42 #ifdef TARGET_ARCH_ppc
  43 # include "bytes_ppc.hpp"
  44 #endif



  45 
  46 // This code has been converted from the 1.1E java virtual machine
  47 // Thanks to the JavaTopics group for using the code
  48 
  49 class ChangeItem;
  50 
  51 // Callback object for code relocations
  52 class RelocatorListener : public StackObj {
  53  public:
  54   RelocatorListener() {};
  55   virtual void relocated(int bci, int delta, int new_method_size) = 0;
  56 };
  57 
  58 
  59 class Relocator : public ResourceObj {
  60  public:
  61   Relocator(methodHandle method, RelocatorListener* listener);
  62   methodHandle insert_space_at(int bci, int space, u_char inst_buffer[], TRAPS);
  63 
  64   // Callbacks from ChangeItem's




  25 #ifndef SHARE_VM_RUNTIME_RELOCATOR_HPP
  26 #define SHARE_VM_RUNTIME_RELOCATOR_HPP
  27 
  28 #include "interpreter/bytecodes.hpp"
  29 #include "oops/method.hpp"
  30 #ifdef TARGET_ARCH_x86
  31 # include "bytes_x86.hpp"
  32 #endif
  33 #ifdef TARGET_ARCH_sparc
  34 # include "bytes_sparc.hpp"
  35 #endif
  36 #ifdef TARGET_ARCH_zero
  37 # include "bytes_zero.hpp"
  38 #endif
  39 #ifdef TARGET_ARCH_arm
  40 # include "bytes_arm.hpp"
  41 #endif
  42 #ifdef TARGET_ARCH_ppc
  43 # include "bytes_ppc.hpp"
  44 #endif
  45 #ifdef TARGET_ARCH_aarch32
  46 # include "bytes_aarch32.hpp"
  47 #endif
  48 
  49 // This code has been converted from the 1.1E java virtual machine
  50 // Thanks to the JavaTopics group for using the code
  51 
  52 class ChangeItem;
  53 
  54 // Callback object for code relocations
  55 class RelocatorListener : public StackObj {
  56  public:
  57   RelocatorListener() {};
  58   virtual void relocated(int bci, int delta, int new_method_size) = 0;
  59 };
  60 
  61 
  62 class Relocator : public ResourceObj {
  63  public:
  64   Relocator(methodHandle method, RelocatorListener* listener);
  65   methodHandle insert_space_at(int bci, int space, u_char inst_buffer[], TRAPS);
  66 
  67   // Callbacks from ChangeItem's


< prev index next >