src/share/vm/interpreter/bytecodeInterpreter.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8074457 Sdiff src/share/vm/interpreter

src/share/vm/interpreter/bytecodeInterpreter.hpp

Print this page




  62   address _osr_buf;                 // the osr buffer
  63   address _osr_entry;               // the entry to the osr method
  64 };
  65 
  66 struct osr_result {
  67   nmethod* nm;                      // osr nmethod
  68   address return_addr;              // osr blob return address
  69 };
  70 
  71 // Result returned to frame manager
  72 union frame_manager_message {
  73   call_message _to_call;            // describes callee
  74   osr_message _osr;                 // describes the osr
  75   osr_result _osr_result;           // result of OSR request
  76 };
  77 
  78 class BytecodeInterpreter : StackObj {
  79 friend class SharedRuntime;
  80 friend class AbstractInterpreterGenerator;
  81 friend class CppInterpreterGenerator;
  82 friend class InterpreterGenerator;
  83 friend class InterpreterMacroAssembler;
  84 friend class frame;
  85 friend class VMStructs;
  86 
  87 public:
  88     enum messages {
  89          no_request = 0,            // unused
  90          initialize,                // Perform one time interpreter initializations (assumes all switches set)
  91          // status message to C++ interpreter
  92          method_entry,              // initial method entry to interpreter
  93          method_resume,             // frame manager response to return_from_method request (assuming a frame to resume)
  94          deopt_resume,              // returning from a native call into a deopted frame
  95          deopt_resume2,             // deopt resume as a result of a PopFrame
  96          got_monitors,              // frame manager response to more_monitors request
  97          rethrow_exception,         // unwinding and throwing exception
  98          // requests to frame manager from C++ interpreter
  99          call_method,               // request for new frame from interpreter, manager responds with method_entry
 100          return_from_method,        // request from interpreter to unwind, manager responds with method_continue
 101          more_monitors,             // need a new monitor
 102          throwing_exception,        // unwind stack and rethrow




  62   address _osr_buf;                 // the osr buffer
  63   address _osr_entry;               // the entry to the osr method
  64 };
  65 
  66 struct osr_result {
  67   nmethod* nm;                      // osr nmethod
  68   address return_addr;              // osr blob return address
  69 };
  70 
  71 // Result returned to frame manager
  72 union frame_manager_message {
  73   call_message _to_call;            // describes callee
  74   osr_message _osr;                 // describes the osr
  75   osr_result _osr_result;           // result of OSR request
  76 };
  77 
  78 class BytecodeInterpreter : StackObj {
  79 friend class SharedRuntime;
  80 friend class AbstractInterpreterGenerator;
  81 friend class CppInterpreterGenerator;

  82 friend class InterpreterMacroAssembler;
  83 friend class frame;
  84 friend class VMStructs;
  85 
  86 public:
  87     enum messages {
  88          no_request = 0,            // unused
  89          initialize,                // Perform one time interpreter initializations (assumes all switches set)
  90          // status message to C++ interpreter
  91          method_entry,              // initial method entry to interpreter
  92          method_resume,             // frame manager response to return_from_method request (assuming a frame to resume)
  93          deopt_resume,              // returning from a native call into a deopted frame
  94          deopt_resume2,             // deopt resume as a result of a PopFrame
  95          got_monitors,              // frame manager response to more_monitors request
  96          rethrow_exception,         // unwinding and throwing exception
  97          // requests to frame manager from C++ interpreter
  98          call_method,               // request for new frame from interpreter, manager responds with method_entry
  99          return_from_method,        // request from interpreter to unwind, manager responds with method_continue
 100          more_monitors,             // need a new monitor
 101          throwing_exception,        // unwind stack and rethrow


src/share/vm/interpreter/bytecodeInterpreter.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File