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