src/share/vm/interpreter/templateInterpreter.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/interpreter/templateInterpreter.hpp	Thu Dec 17 17:52:19 2015
--- new/src/share/vm/interpreter/templateInterpreter.hpp	Thu Dec 17 17:52:19 2015

*** 32,41 **** --- 32,42 ---- // of the template interpreter and the template interpreter generator. #ifndef CC_INTERP class InterpreterMacroAssembler; + class InterpreterCodelet; //------------------------------------------------------------------------------------------------------------------------ // A little wrapper class to group tosca-specific entry points into a unit. // (tosca = Top-Of-Stack CAche)
*** 83,93 **** --- 84,93 ---- class TemplateInterpreter: public AbstractInterpreter { friend class VMStructs; friend class InterpreterMacroAssembler; friend class TemplateInterpreterGenerator; friend class InterpreterGenerator; friend class TemplateTable; friend class CodeCacheExtensions; // friend class Interpreter; public:
*** 135,144 **** --- 135,147 ---- public: // Initialization/debugging static void initialize(); // this only returns whether a pc is within generated code for the interpreter. static bool contains(address pc) { return _code != NULL && _code->contains(pc); } + // Debugging/printing + static InterpreterCodelet* codelet_containing(address pc); + public: static address remove_activation_early_entry(TosState state) { return _earlyret_entry.entry(state); } #ifdef HOTSWAP
*** 186,215 **** --- 189,207 ---- // Deoptimization should reexecute this bytecode static bool bytecode_should_reexecute(Bytecodes::Code code); // Compute the address for reexecution static address deopt_reexecute_entry(Method* method, address bcp); #ifdef TARGET_ARCH_x86 # include "templateInterpreter_x86.hpp" #endif #ifdef TARGET_ARCH_sparc # include "templateInterpreter_sparc.hpp" #endif #ifdef TARGET_ARCH_zero # include "templateInterpreter_zero.hpp" #endif #ifdef TARGET_ARCH_arm # include "templateInterpreter_arm.hpp" #endif + // Size of interpreter code. Max size with JVMTI + static int InterpreterCodeSize; + #ifdef TARGET_ARCH_ppc # include "templateInterpreter_ppc.hpp" #endif #ifdef TARGET_ARCH_aarch64 # include "templateInterpreter_aarch64.hpp" + public: + // PPC-only: Support abs and sqrt like in compiler. + // For others we can use a normal (native) entry. + static bool math_entry_available(AbstractInterpreter::MethodKind kind); #endif }; #endif // !CC_INTERP #endif // SHARE_VM_INTERPRETER_TEMPLATEINTERPRETER_HPP

src/share/vm/interpreter/templateInterpreter.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File