diff src/share/vm/interpreter/bytecodeInterpreter.hpp @ 14909:4ca6dc0799b6

Backout jdk9 merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 01 Apr 2014 13:57:07 +0200
parents bfd9d884693d
children 52b4284cb496
line wrap: on
line diff
--- a/src/share/vm/interpreter/bytecodeInterpreter.hpp	Tue Apr 01 14:09:03 2014 +0200
+++ b/src/share/vm/interpreter/bytecodeInterpreter.hpp	Tue Apr 01 13:57:07 2014 +0200
@@ -66,26 +66,27 @@
 typedef class BytecodeInterpreter* interpreterState;
 
 struct call_message {
-  class Method* _callee;           // method to call during call_method request
-  address _callee_entry_point;     // address to jump to for call_method request
-  int _bcp_advance;                // size of the invoke bytecode operation
+    class Method* _callee;    /* method to call during call_method request */
+    address   _callee_entry_point;   /* address to jump to for call_method request */
+    int       _bcp_advance;          /* size of the invoke bytecode operation */
 };
 
 struct osr_message {
-  address _osr_buf;                 // the osr buffer
-  address _osr_entry;               // the entry to the osr method
+    address _osr_buf;                 /* the osr buffer */
+    address _osr_entry;               /* the entry to the osr method */
 };
 
 struct osr_result {
-  nmethod* nm;                      // osr nmethod
-  address return_addr;              // osr blob return address
+  nmethod* nm;                       /* osr nmethod */
+  address return_addr;               /* osr blob return address */
 };
 
 // Result returned to frame manager
 union frame_manager_message {
-  call_message _to_call;            // describes callee
-  osr_message _osr;                 // describes the osr
-  osr_result _osr_result;           // result of OSR request
+    call_message _to_call;            /* describes callee */
+    Bytecodes::Code _return_kind;     /* i_return, a_return, ... */
+    osr_message _osr;                 /* describes the osr */
+    osr_result _osr_result;           /* result of OSR request */
 };
 
 class BytecodeInterpreter : StackObj {
@@ -114,8 +115,7 @@
          more_monitors,             // need a new monitor
          throwing_exception,        // unwind stack and rethrow
          popping_frame,             // unwind call and retry call
-         do_osr,                    // request this invocation be OSR's
-         early_return               // early return as commanded by jvmti
+         do_osr                     // request this invocation be OSR's
     };
 
 private:
@@ -216,6 +216,8 @@
 inline int bcp_advance() { return _result._to_call._bcp_advance; }
 inline void set_bcp_advance(int count) { _result._to_call._bcp_advance = count; }
 
+inline void set_return_kind(Bytecodes::Code kind) { _result._return_kind = kind; }
+
 inline interpreterState prev() { return _prev_link; }
 
 inline intptr_t* stack() { return _stack; }