< prev index next >

src/share/vm/interpreter/abstractInterpreter.hpp

Print this page




  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_ABSTRACTINTERPRETER_HPP
  26 #define SHARE_VM_INTERPRETER_ABSTRACTINTERPRETER_HPP
  27 
  28 #include "code/stubs.hpp"
  29 #include "interpreter/bytecodes.hpp"
  30 #include "runtime/thread.inline.hpp"
  31 #include "runtime/vmThread.hpp"
  32 #include "utilities/top.hpp"
  33 #if defined INTERP_MASM_MD_HPP
  34 # include INTERP_MASM_MD_HPP
  35 #elif defined TARGET_ARCH_x86
  36 # include "interp_masm_x86.hpp"


  37 #elif defined TARGET_ARCH_MODEL_sparc
  38 # include "interp_masm_sparc.hpp"
  39 #elif defined TARGET_ARCH_MODEL_zero
  40 # include "interp_masm_zero.hpp"
  41 #elif defined TARGET_ARCH_MODEL_ppc_64
  42 # include "interp_masm_ppc_64.hpp"
  43 #endif
  44 
  45 // This file contains the platform-independent parts
  46 // of the abstract interpreter and the abstract interpreter generator.
  47 
  48 // Organization of the interpreter(s). There exists two different interpreters in hotpot
  49 // an assembly language version (aka template interpreter) and a high level language version
  50 // (aka c++ interpreter). Th division of labor is as follows:
  51 
  52 // Template Interpreter          C++ Interpreter        Functionality
  53 //
  54 // templateTable*                bytecodeInterpreter*   actual interpretation of bytecodes
  55 //
  56 // templateInterpreter*          cppInterpreter*        generation of assembly code that creates




  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_ABSTRACTINTERPRETER_HPP
  26 #define SHARE_VM_INTERPRETER_ABSTRACTINTERPRETER_HPP
  27 
  28 #include "code/stubs.hpp"
  29 #include "interpreter/bytecodes.hpp"
  30 #include "runtime/thread.inline.hpp"
  31 #include "runtime/vmThread.hpp"
  32 #include "utilities/top.hpp"
  33 #if defined INTERP_MASM_MD_HPP
  34 # include INTERP_MASM_MD_HPP
  35 #elif defined TARGET_ARCH_x86
  36 # include "interp_masm_x86.hpp"
  37 #elif defined TARGET_ARCH_MODEL_aarch64
  38 # include "interp_masm_aarch64.hpp"
  39 #elif defined TARGET_ARCH_MODEL_sparc
  40 # include "interp_masm_sparc.hpp"
  41 #elif defined TARGET_ARCH_MODEL_zero
  42 # include "interp_masm_zero.hpp"
  43 #elif defined TARGET_ARCH_MODEL_ppc_64
  44 # include "interp_masm_ppc_64.hpp"
  45 #endif
  46 
  47 // This file contains the platform-independent parts
  48 // of the abstract interpreter and the abstract interpreter generator.
  49 
  50 // Organization of the interpreter(s). There exists two different interpreters in hotpot
  51 // an assembly language version (aka template interpreter) and a high level language version
  52 // (aka c++ interpreter). Th division of labor is as follows:
  53 
  54 // Template Interpreter          C++ Interpreter        Functionality
  55 //
  56 // templateTable*                bytecodeInterpreter*   actual interpretation of bytecodes
  57 //
  58 // templateInterpreter*          cppInterpreter*        generation of assembly code that creates


< prev index next >