hotspot/src/share/vm/interpreter/interpreter.hpp
changeset 35214 d86005e0b4c2
parent 31620 53be635ad49c
child 46620 750c6edff33b
equal deleted inserted replaced
35211:3771329165d4 35214:d86005e0b4c2
    27 
    27 
    28 #include "code/stubs.hpp"
    28 #include "code/stubs.hpp"
    29 #include "interpreter/cppInterpreter.hpp"
    29 #include "interpreter/cppInterpreter.hpp"
    30 #include "interpreter/templateInterpreter.hpp"
    30 #include "interpreter/templateInterpreter.hpp"
    31 #include "memory/resourceArea.hpp"
    31 #include "memory/resourceArea.hpp"
    32 #ifdef TARGET_ARCH_zero
       
    33 # include "entry_zero.hpp"
       
    34 #endif
       
    35 
    32 
    36 // This file contains the platform-independent parts
    33 // This file contains the platform-independent parts
    37 // of the interpreter and the interpreter generator.
    34 // of the interpreter and the interpreter generator.
    38 
    35 
    39 class InterpreterMacroAssembler;
    36 class InterpreterMacroAssembler;
   114               const char* description,
   111               const char* description,
   115               Bytecodes::Code bytecode = Bytecodes::_illegal);
   112               Bytecodes::Code bytecode = Bytecodes::_illegal);
   116   ~CodeletMark();
   113   ~CodeletMark();
   117 };
   114 };
   118 
   115 
   119 // Wrapper classes to produce Interpreter/InterpreterGenerator from either
   116 // Wrapper typedef to use the name Interpreter to mean either
   120 // the c++ interpreter or the template interpreter.
   117 // the c++ interpreter or the template interpreter.
   121 
   118 
   122 class Interpreter: public CC_INTERP_ONLY(CppInterpreter) NOT_CC_INTERP(TemplateInterpreter) {
   119 typedef CC_INTERP_ONLY(CppInterpreter) NOT_CC_INTERP(TemplateInterpreter) Interpreter;
   123 
       
   124  public:
       
   125   // Debugging/printing
       
   126   static InterpreterCodelet* codelet_containing(address pc) { return (InterpreterCodelet*)_code->stub_containing(pc); }
       
   127 
       
   128 #ifdef TARGET_ARCH_x86
       
   129 # include "interpreter_x86.hpp"
       
   130 #endif
       
   131 #ifdef TARGET_ARCH_sparc
       
   132 # include "interpreter_sparc.hpp"
       
   133 #endif
       
   134 #ifdef TARGET_ARCH_zero
       
   135 # include "interpreter_zero.hpp"
       
   136 #endif
       
   137 #ifdef TARGET_ARCH_arm
       
   138 # include "interpreter_arm.hpp"
       
   139 #endif
       
   140 #ifdef TARGET_ARCH_ppc
       
   141 # include "interpreter_ppc.hpp"
       
   142 #endif
       
   143 #ifdef TARGET_ARCH_aarch64
       
   144 # include "interpreter_aarch64.hpp"
       
   145 #endif
       
   146 
       
   147 };
       
   148 
   120 
   149 #endif // SHARE_VM_INTERPRETER_INTERPRETER_HPP
   121 #endif // SHARE_VM_INTERPRETER_INTERPRETER_HPP