diff src/share/vm/code/nmethod.hpp @ 7660:0b646334c5f7

keep track of leafGraphIds only at the StructuredGraph level (see GRAAL-60)
author Lukas Stadler <lukas.stadler@jku.at>
date Fri, 01 Feb 2013 17:32:59 +0100
parents 5d0bb7d52783
children b8f261ba79c6
line wrap: on
line diff
--- a/src/share/vm/code/nmethod.hpp	Fri Feb 01 15:18:22 2013 +0100
+++ b/src/share/vm/code/nmethod.hpp	Fri Feb 01 17:32:59 2013 +0100
@@ -159,6 +159,7 @@
   int _dependencies_offset;
   int _handler_table_offset;
   int _nul_chk_table_offset;
+  int _leaf_graph_ids_offset;
   int _nmethod_end_offset;
 
   // location in frame (offset for sp) that deopt can store the original
@@ -267,9 +268,10 @@
           ExceptionHandlerTable* handler_table,
           ImplicitExceptionTable* nul_chk_table,
           AbstractCompiler* compiler,
-          int comp_level
+          int comp_level,
+          GrowableArray<jlong>* leaf_graph_ids
 #ifdef GRAAL
-          , Handle installed_code = NULL
+          , Handle installed_code
 #endif
           );
 
@@ -307,7 +309,8 @@
                               ExceptionHandlerTable* handler_table,
                               ImplicitExceptionTable* nul_chk_table,
                               AbstractCompiler* compiler,
-                              int comp_level
+                              int comp_level,
+                              GrowableArray<jlong>* leaf_graph_ids = NULL
 #ifdef GRAAL
                               , Handle installed_code = NULL
 #endif
@@ -383,7 +386,9 @@
   address handler_table_begin   () const          { return           header_begin() + _handler_table_offset ; }
   address handler_table_end     () const          { return           header_begin() + _nul_chk_table_offset ; }
   address nul_chk_table_begin   () const          { return           header_begin() + _nul_chk_table_offset ; }
-  address nul_chk_table_end     () const          { return           header_begin() + _nmethod_end_offset   ; }
+  address nul_chk_table_end     () const          { return           header_begin() + _leaf_graph_ids_offset; }
+  jlong*  leaf_graph_ids_begin  () const          { return  (jlong*)(header_begin() + _leaf_graph_ids_offset); }
+  jlong*  leaf_graph_ids_end    () const          { return  (jlong*)(header_begin() + _nmethod_end_offset)  ; }
 
   // Sizes
   int consts_size       () const                  { return            consts_end       () -            consts_begin       (); }