< prev index next >

src/share/vm/interpreter/interpreter.hpp

Print this page




  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_INTERPRETER_INTERPRETER_HPP
  26 #define SHARE_VM_INTERPRETER_INTERPRETER_HPP
  27 
  28 #include "code/stubs.hpp"
  29 #include "interpreter/cppInterpreter.hpp"
  30 #include "interpreter/templateInterpreter.hpp"
  31 #include "memory/resourceArea.hpp"

  32 
  33 // This file contains the platform-independent parts
  34 // of the interpreter and the interpreter generator.
  35 
  36 class InterpreterMacroAssembler;
  37 
  38 //------------------------------------------------------------------------------------------------------------------------
  39 // An InterpreterCodelet is a piece of interpreter code. All
  40 // interpreter code is generated into little codelets which
  41 // contain extra information for debugging and printing purposes.
  42 
  43 class InterpreterCodelet: public Stub {
  44   friend class VMStructs;
  45   friend class CodeCacheDumper; // possible extension [do not remove]
  46  private:
  47   int         _size;                             // the size in bytes
  48   const char* _description;                      // a description of the codelet, for debugging & printing
  49   Bytecodes::Code _bytecode;                     // associated bytecode if any
  50   DEBUG_ONLY(CodeStrings _strings;)              // Comments for annotating assembler output.
  51 




  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_INTERPRETER_INTERPRETER_HPP
  26 #define SHARE_VM_INTERPRETER_INTERPRETER_HPP
  27 
  28 #include "code/stubs.hpp"
  29 #include "interpreter/cppInterpreter.hpp"
  30 #include "interpreter/templateInterpreter.hpp"
  31 #include "memory/resourceArea.hpp"
  32 #include "utilities/align.hpp"
  33 
  34 // This file contains the platform-independent parts
  35 // of the interpreter and the interpreter generator.
  36 
  37 class InterpreterMacroAssembler;
  38 
  39 //------------------------------------------------------------------------------------------------------------------------
  40 // An InterpreterCodelet is a piece of interpreter code. All
  41 // interpreter code is generated into little codelets which
  42 // contain extra information for debugging and printing purposes.
  43 
  44 class InterpreterCodelet: public Stub {
  45   friend class VMStructs;
  46   friend class CodeCacheDumper; // possible extension [do not remove]
  47  private:
  48   int         _size;                             // the size in bytes
  49   const char* _description;                      // a description of the codelet, for debugging & printing
  50   Bytecodes::Code _bytecode;                     // associated bytecode if any
  51   DEBUG_ONLY(CodeStrings _strings;)              // Comments for annotating assembler output.
  52 


< prev index next >