hotspot/src/share/vm/interpreter/templateInterpreter.hpp
changeset 35214 d86005e0b4c2
parent 31620 53be635ad49c
child 35479 62c12ca7a45e
--- a/hotspot/src/share/vm/interpreter/templateInterpreter.hpp	Tue Dec 22 11:03:37 2015 +0100
+++ b/hotspot/src/share/vm/interpreter/templateInterpreter.hpp	Tue Dec 22 11:11:29 2015 -0500
@@ -34,6 +34,7 @@
 #ifndef CC_INTERP
 
 class InterpreterMacroAssembler;
+class InterpreterCodelet;
 
 //------------------------------------------------------------------------------------------------------------------------
 // A little wrapper class to group tosca-specific entry points into a unit.
@@ -85,7 +86,6 @@
   friend class VMStructs;
   friend class InterpreterMacroAssembler;
   friend class TemplateInterpreterGenerator;
-  friend class InterpreterGenerator;
   friend class TemplateTable;
   friend class CodeCacheExtensions;
   // friend class Interpreter;
@@ -137,6 +137,9 @@
   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:
 
@@ -188,26 +191,15 @@
   // 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"
+  // Size of interpreter code.  Max size with JVMTI
+  static int InterpreterCodeSize;
+
+#ifdef PPC
+ 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
-#ifdef TARGET_ARCH_arm
-# include "templateInterpreter_arm.hpp"
-#endif
-#ifdef TARGET_ARCH_ppc
-# include "templateInterpreter_ppc.hpp"
-#endif
-#ifdef TARGET_ARCH_aarch64
-# include "templateInterpreter_aarch64.hpp"
-#endif
-
-
 };
 
 #endif // !CC_INTERP