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

src/share/vm/interpreter/bytecodeInterpreter.hpp

Print this page




  49 struct osr_result {
  50   nmethod* nm;                       /* osr nmethod */
  51   address return_addr;               /* osr blob return address */
  52 };
  53 
  54 // Result returned to frame manager
  55 union frame_manager_message {
  56     call_message _to_call;            /* describes callee */
  57     Bytecodes::Code _return_kind;     /* i_return, a_return, ... */
  58     osr_message _osr;                 /* describes the osr */
  59     osr_result _osr_result;           /* result of OSR request */
  60 };
  61 
  62 class BytecodeInterpreter : StackObj {
  63 friend class SharedRuntime;
  64 friend class AbstractInterpreterGenerator;
  65 friend class CppInterpreterGenerator;
  66 friend class InterpreterGenerator;
  67 friend class InterpreterMacroAssembler;
  68 friend class frame;
  69 friend class SharedRuntime;
  70 friend class VMStructs;
  71 
  72 public:
  73     enum messages {
  74          no_request = 0,            // unused
  75          initialize,                // Perform one time interpreter initializations (assumes all switches set)
  76          // status message to C++ interpreter
  77          method_entry,              // initial method entry to interpreter
  78          method_resume,             // frame manager response to return_from_method request (assuming a frame to resume)
  79          deopt_resume,              // returning from a native call into a deopted frame
  80          deopt_resume2,             // deopt resume as a result of a PopFrame
  81          got_monitors,              // frame manager response to more_monitors request
  82          rethrow_exception,         // unwinding and throwing exception
  83          // requests to frame manager from C++ interpreter
  84          call_method,               // request for new frame from interpreter, manager responds with method_entry
  85          return_from_method,        // request from interpreter to unwind, manager responds with method_continue
  86          more_monitors,             // need a new monitor
  87          throwing_exception,        // unwind stack and rethrow
  88          popping_frame,             // unwind call and retry call
  89          do_osr                     // request this invocation be OSR's




  49 struct osr_result {
  50   nmethod* nm;                       /* osr nmethod */
  51   address return_addr;               /* osr blob return address */
  52 };
  53 
  54 // Result returned to frame manager
  55 union frame_manager_message {
  56     call_message _to_call;            /* describes callee */
  57     Bytecodes::Code _return_kind;     /* i_return, a_return, ... */
  58     osr_message _osr;                 /* describes the osr */
  59     osr_result _osr_result;           /* result of OSR request */
  60 };
  61 
  62 class BytecodeInterpreter : StackObj {
  63 friend class SharedRuntime;
  64 friend class AbstractInterpreterGenerator;
  65 friend class CppInterpreterGenerator;
  66 friend class InterpreterGenerator;
  67 friend class InterpreterMacroAssembler;
  68 friend class frame;

  69 friend class VMStructs;
  70 
  71 public:
  72     enum messages {
  73          no_request = 0,            // unused
  74          initialize,                // Perform one time interpreter initializations (assumes all switches set)
  75          // status message to C++ interpreter
  76          method_entry,              // initial method entry to interpreter
  77          method_resume,             // frame manager response to return_from_method request (assuming a frame to resume)
  78          deopt_resume,              // returning from a native call into a deopted frame
  79          deopt_resume2,             // deopt resume as a result of a PopFrame
  80          got_monitors,              // frame manager response to more_monitors request
  81          rethrow_exception,         // unwinding and throwing exception
  82          // requests to frame manager from C++ interpreter
  83          call_method,               // request for new frame from interpreter, manager responds with method_entry
  84          return_from_method,        // request from interpreter to unwind, manager responds with method_continue
  85          more_monitors,             // need a new monitor
  86          throwing_exception,        // unwind stack and rethrow
  87          popping_frame,             // unwind call and retry call
  88          do_osr                     // request this invocation be OSR's


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