diff src/share/vm/graal/graalJavaAccess.hpp @ 2926:0e3ec0a4eda4

RiTypeProfile information and invocation counters for RiMethods
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 09 Jun 2011 15:25:27 +0200
parents 75a99b4f1c98
children f00918f35c7f
line wrap: on
line diff
--- a/src/share/vm/graal/graalJavaAccess.hpp	Thu Jun 09 14:42:24 2011 +0200
+++ b/src/share/vm/graal/graalJavaAccess.hpp	Thu Jun 09 15:25:27 2011 +0200
@@ -44,7 +44,7 @@
  *
  */
 
-#define COMPILER_CLASSES_DO(start_class, end_class, char_field, int_field, boolean_field, long_field, oop_field, static_oop_field)   \
+#define COMPILER_CLASSES_DO(start_class, end_class, char_field, int_field, boolean_field, long_field, float_field, oop_field, static_oop_field)   \
   start_class(HotSpotTypeResolved)                                                      \
     oop_field(HotSpotTypeResolved, compiler, "Lcom/oracle/max/graal/runtime/Compiler;") \
     oop_field(HotSpotTypeResolved, javaMirror, "Ljava/lang/Class;")                     \
@@ -200,11 +200,14 @@
   start_class(CiStackSlot)                                                              \
     int_field(CiStackSlot, index)                                                       \
   end_class                                                                             \
+  start_class(RiTypeProfile)                                                            \
+    int_field(RiTypeProfile, count)                                                     \
+    int_field(RiTypeProfile, morphism)                                                  \
+    oop_field(RiTypeProfile, probabilities, "[F")                                       \
+    oop_field(RiTypeProfile, types, "[Lcom/sun/cri/ri/RiType;")                         \
+  end_class                                                                             \
   /* end*/
 
-
-
-
 #define START_CLASS(name)                       \
   class name : AllStatic {                      \
   private:                                      \
@@ -229,6 +232,7 @@
 #define INT_FIELD(klass, name) FIELD(name, jint, int_field)
 #define BOOLEAN_FIELD(klass, name) FIELD(name, jboolean, bool_field)
 #define LONG_FIELD(klass, name) FIELD(name, jlong, long_field)
+#define FLOAT_FIELD(klass, name) FIELD(name, jfloat, float_field)
 #define OOP_FIELD(klass, name, signature) FIELD(name, oop, obj_field)
 #define STATIC_OOP_FIELD(klassName, name, signature)                \
     static int _##name##_offset;                                    \
@@ -250,7 +254,7 @@
         oopDesc::encode_store_heap_oop((oop*)addr, x);              \
       }                                                             \
     }
-COMPILER_CLASSES_DO(START_CLASS, END_CLASS, CHAR_FIELD, INT_FIELD, BOOLEAN_FIELD, LONG_FIELD, OOP_FIELD, STATIC_OOP_FIELD)
+COMPILER_CLASSES_DO(START_CLASS, END_CLASS, CHAR_FIELD, INT_FIELD, BOOLEAN_FIELD, LONG_FIELD, FLOAT_FIELD, OOP_FIELD, STATIC_OOP_FIELD)
 #undef START_CLASS
 #undef END_CLASS
 #undef FIELD
@@ -258,6 +262,7 @@
 #undef INT_FIELD
 #undef BOOLEAN_FIELD
 #undef LONG_FIELD
+#undef FLOAT_FIELD
 #undef OOP_FIELD
 #undef STATIC_OOP_FIELD