comparison 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
comparison
equal deleted inserted replaced
7656:01aeaf194641 7660:0b646334c5f7
157 int _scopes_data_offset; 157 int _scopes_data_offset;
158 int _scopes_pcs_offset; 158 int _scopes_pcs_offset;
159 int _dependencies_offset; 159 int _dependencies_offset;
160 int _handler_table_offset; 160 int _handler_table_offset;
161 int _nul_chk_table_offset; 161 int _nul_chk_table_offset;
162 int _leaf_graph_ids_offset;
162 int _nmethod_end_offset; 163 int _nmethod_end_offset;
163 164
164 // location in frame (offset for sp) that deopt can store the original 165 // location in frame (offset for sp) that deopt can store the original
165 // pc during a deopt. 166 // pc during a deopt.
166 int _orig_pc_offset; 167 int _orig_pc_offset;
265 int frame_size, 266 int frame_size,
266 OopMapSet* oop_maps, 267 OopMapSet* oop_maps,
267 ExceptionHandlerTable* handler_table, 268 ExceptionHandlerTable* handler_table,
268 ImplicitExceptionTable* nul_chk_table, 269 ImplicitExceptionTable* nul_chk_table,
269 AbstractCompiler* compiler, 270 AbstractCompiler* compiler,
270 int comp_level 271 int comp_level,
272 GrowableArray<jlong>* leaf_graph_ids
271 #ifdef GRAAL 273 #ifdef GRAAL
272 , Handle installed_code = NULL 274 , Handle installed_code
273 #endif 275 #endif
274 ); 276 );
275 277
276 // helper methods 278 // helper methods
277 void* operator new(size_t size, int nmethod_size); 279 void* operator new(size_t size, int nmethod_size);
305 int frame_size, 307 int frame_size,
306 OopMapSet* oop_maps, 308 OopMapSet* oop_maps,
307 ExceptionHandlerTable* handler_table, 309 ExceptionHandlerTable* handler_table,
308 ImplicitExceptionTable* nul_chk_table, 310 ImplicitExceptionTable* nul_chk_table,
309 AbstractCompiler* compiler, 311 AbstractCompiler* compiler,
310 int comp_level 312 int comp_level,
313 GrowableArray<jlong>* leaf_graph_ids = NULL
311 #ifdef GRAAL 314 #ifdef GRAAL
312 , Handle installed_code = NULL 315 , Handle installed_code = NULL
313 #endif 316 #endif
314 ); 317 );
315 318
381 address dependencies_begin () const { return header_begin() + _dependencies_offset ; } 384 address dependencies_begin () const { return header_begin() + _dependencies_offset ; }
382 address dependencies_end () const { return header_begin() + _handler_table_offset ; } 385 address dependencies_end () const { return header_begin() + _handler_table_offset ; }
383 address handler_table_begin () const { return header_begin() + _handler_table_offset ; } 386 address handler_table_begin () const { return header_begin() + _handler_table_offset ; }
384 address handler_table_end () const { return header_begin() + _nul_chk_table_offset ; } 387 address handler_table_end () const { return header_begin() + _nul_chk_table_offset ; }
385 address nul_chk_table_begin () const { return header_begin() + _nul_chk_table_offset ; } 388 address nul_chk_table_begin () const { return header_begin() + _nul_chk_table_offset ; }
386 address nul_chk_table_end () const { return header_begin() + _nmethod_end_offset ; } 389 address nul_chk_table_end () const { return header_begin() + _leaf_graph_ids_offset; }
390 jlong* leaf_graph_ids_begin () const { return (jlong*)(header_begin() + _leaf_graph_ids_offset); }
391 jlong* leaf_graph_ids_end () const { return (jlong*)(header_begin() + _nmethod_end_offset) ; }
387 392
388 // Sizes 393 // Sizes
389 int consts_size () const { return consts_end () - consts_begin (); } 394 int consts_size () const { return consts_end () - consts_begin (); }
390 int insts_size () const { return insts_end () - insts_begin (); } 395 int insts_size () const { return insts_end () - insts_begin (); }
391 int stub_size () const { return stub_end () - stub_begin (); } 396 int stub_size () const { return stub_end () - stub_begin (); }