< prev index next >

src/share/vm/interpreter/bytecodeStream.hpp

Print this page




  27 
  28 #include "interpreter/bytecode.hpp"
  29 #include "memory/allocation.hpp"
  30 #include "oops/method.hpp"
  31 #include "runtime/handles.inline.hpp"
  32 #ifdef TARGET_ARCH_x86
  33 # include "bytes_x86.hpp"
  34 #endif
  35 #ifdef TARGET_ARCH_sparc
  36 # include "bytes_sparc.hpp"
  37 #endif
  38 #ifdef TARGET_ARCH_zero
  39 # include "bytes_zero.hpp"
  40 #endif
  41 #ifdef TARGET_ARCH_arm
  42 # include "bytes_arm.hpp"
  43 #endif
  44 #ifdef TARGET_ARCH_ppc
  45 # include "bytes_ppc.hpp"
  46 #endif



  47 
  48 // A BytecodeStream is used for fast iteration over the bytecodes
  49 // of a Method*.
  50 //
  51 // Usage:
  52 //
  53 // BytecodeStream s(method);
  54 // Bytecodes::Code c;
  55 // while ((c = s.next()) >= 0) {
  56 //   ...
  57 // }
  58 
  59 // A RawBytecodeStream is a simple version of BytecodeStream.
  60 // It is used ONLY when we know the bytecodes haven't been rewritten
  61 // yet, such as in the rewriter or the verifier.
  62 
  63 // Here is the common base class for both RawBytecodeStream and BytecodeStream:
  64 class BaseBytecodeStream: StackObj {
  65  protected:
  66   // stream buffer




  27 
  28 #include "interpreter/bytecode.hpp"
  29 #include "memory/allocation.hpp"
  30 #include "oops/method.hpp"
  31 #include "runtime/handles.inline.hpp"
  32 #ifdef TARGET_ARCH_x86
  33 # include "bytes_x86.hpp"
  34 #endif
  35 #ifdef TARGET_ARCH_sparc
  36 # include "bytes_sparc.hpp"
  37 #endif
  38 #ifdef TARGET_ARCH_zero
  39 # include "bytes_zero.hpp"
  40 #endif
  41 #ifdef TARGET_ARCH_arm
  42 # include "bytes_arm.hpp"
  43 #endif
  44 #ifdef TARGET_ARCH_ppc
  45 # include "bytes_ppc.hpp"
  46 #endif
  47 #ifdef TARGET_ARCH_aarch32
  48 # include "bytes_aarch32.hpp"
  49 #endif
  50 
  51 // A BytecodeStream is used for fast iteration over the bytecodes
  52 // of a Method*.
  53 //
  54 // Usage:
  55 //
  56 // BytecodeStream s(method);
  57 // Bytecodes::Code c;
  58 // while ((c = s.next()) >= 0) {
  59 //   ...
  60 // }
  61 
  62 // A RawBytecodeStream is a simple version of BytecodeStream.
  63 // It is used ONLY when we know the bytecodes haven't been rewritten
  64 // yet, such as in the rewriter or the verifier.
  65 
  66 // Here is the common base class for both RawBytecodeStream and BytecodeStream:
  67 class BaseBytecodeStream: StackObj {
  68  protected:
  69   // stream buffer


< prev index next >