< prev index next >

src/share/vm/interpreter/interpreter.hpp

Print this page




 128     (*_masm)->align(wordSize);
 129     // make sure all code is in code buffer
 130     (*_masm)->flush();
 131 
 132 
 133     // commit Codelet
 134     AbstractInterpreter::code()->commit((*_masm)->code()->pure_insts_size(), (*_masm)->code()->strings());
 135     // make sure nobody can use _masm outside a CodeletMark lifespan
 136     *_masm = NULL;
 137   }
 138 };
 139 
 140 // Wrapper classes to produce Interpreter/InterpreterGenerator from either
 141 // the c++ interpreter or the template interpreter.
 142 
 143 class Interpreter: public CC_INTERP_ONLY(CppInterpreter) NOT_CC_INTERP(TemplateInterpreter) {
 144 
 145   public:
 146   // Debugging/printing
 147   static InterpreterCodelet* codelet_containing(address pc)     { return (InterpreterCodelet*)_code->stub_containing(pc); }

 148 #ifdef TARGET_ARCH_x86
 149 # include "interpreter_x86.hpp"
 150 #endif
 151 #ifdef TARGET_ARCH_sparc
 152 # include "interpreter_sparc.hpp"
 153 #endif
 154 #ifdef TARGET_ARCH_zero
 155 # include "interpreter_zero.hpp"
 156 #endif
 157 #ifdef TARGET_ARCH_arm
 158 # include "interpreter_arm.hpp"
 159 #endif
 160 #ifdef TARGET_ARCH_ppc
 161 # include "interpreter_ppc.hpp"



 162 #endif
 163 
 164 };
 165 
 166 #endif // SHARE_VM_INTERPRETER_INTERPRETER_HPP


 128     (*_masm)->align(wordSize);
 129     // make sure all code is in code buffer
 130     (*_masm)->flush();
 131 
 132 
 133     // commit Codelet
 134     AbstractInterpreter::code()->commit((*_masm)->code()->pure_insts_size(), (*_masm)->code()->strings());
 135     // make sure nobody can use _masm outside a CodeletMark lifespan
 136     *_masm = NULL;
 137   }
 138 };
 139 
 140 // Wrapper classes to produce Interpreter/InterpreterGenerator from either
 141 // the c++ interpreter or the template interpreter.
 142 
 143 class Interpreter: public CC_INTERP_ONLY(CppInterpreter) NOT_CC_INTERP(TemplateInterpreter) {
 144 
 145   public:
 146   // Debugging/printing
 147   static InterpreterCodelet* codelet_containing(address pc)     { return (InterpreterCodelet*)_code->stub_containing(pc); }
 148 
 149 #ifdef TARGET_ARCH_x86
 150 # include "interpreter_x86.hpp"
 151 #endif
 152 #ifdef TARGET_ARCH_sparc
 153 # include "interpreter_sparc.hpp"
 154 #endif
 155 #ifdef TARGET_ARCH_zero
 156 # include "interpreter_zero.hpp"
 157 #endif
 158 #ifdef TARGET_ARCH_arm
 159 # include "interpreter_arm.hpp"
 160 #endif
 161 #ifdef TARGET_ARCH_ppc
 162 # include "interpreter_ppc.hpp"
 163 #endif
 164 #ifdef TARGET_ARCH_aarch32
 165 # include "interpreter_aarch32.hpp"
 166 #endif
 167 
 168 };
 169 
 170 #endif // SHARE_VM_INTERPRETER_INTERPRETER_HPP
< prev index next >