comparison src/share/vm/code/nmethod.hpp @ 8215:b89a97928e72

Implement weak reference semantics for HotSpotInstalledCode in the default method installation case. Add new boolean[] array as parameter to the code installation.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Mon, 11 Mar 2013 20:55:05 +0100
parents c5ff08c22458
children 197426668a5d
comparison
equal deleted inserted replaced
8205:9efef773f521 8215:b89a97928e72
117 jmethodID _jmethod_id; // Cache of method()->jmethod_id() 117 jmethodID _jmethod_id; // Cache of method()->jmethod_id()
118 118
119 #ifdef GRAAL 119 #ifdef GRAAL
120 // Needed to keep nmethods alive that are not the default nmethod for the associated Method. 120 // Needed to keep nmethods alive that are not the default nmethod for the associated Method.
121 oop _graal_installed_code; 121 oop _graal_installed_code;
122 typeArrayOop _triggered_deoptimizations;
122 #endif 123 #endif
123 124
124 // To support simple linked-list chaining of nmethods: 125 // To support simple linked-list chaining of nmethods:
125 nmethod* _osr_link; // from InstanceKlass::osr_nmethods_head 126 nmethod* _osr_link; // from InstanceKlass::osr_nmethods_head
126 nmethod* _scavenge_root_link; // from CodeCache::scavenge_root_nmethods 127 nmethod* _scavenge_root_link; // from CodeCache::scavenge_root_nmethods
269 ImplicitExceptionTable* nul_chk_table, 270 ImplicitExceptionTable* nul_chk_table,
270 AbstractCompiler* compiler, 271 AbstractCompiler* compiler,
271 int comp_level, 272 int comp_level,
272 GrowableArray<jlong>* leaf_graph_ids 273 GrowableArray<jlong>* leaf_graph_ids
273 #ifdef GRAAL 274 #ifdef GRAAL
274 , Handle installed_code 275 , Handle installed_code,
276 Handle triggered_deoptimizations
275 #endif 277 #endif
276 ); 278 );
277 279
278 // helper methods 280 // helper methods
279 void* operator new(size_t size, int nmethod_size); 281 void* operator new(size_t size, int nmethod_size);
310 ImplicitExceptionTable* nul_chk_table, 312 ImplicitExceptionTable* nul_chk_table,
311 AbstractCompiler* compiler, 313 AbstractCompiler* compiler,
312 int comp_level, 314 int comp_level,
313 GrowableArray<jlong>* leaf_graph_ids = NULL 315 GrowableArray<jlong>* leaf_graph_ids = NULL
314 #ifdef GRAAL 316 #ifdef GRAAL
315 , Handle installed_code = NULL 317 , Handle installed_code = Handle(),
318 Handle triggered_deoptimizations = Handle()
316 #endif 319 #endif
317 ); 320 );
318 321
319 static nmethod* new_native_nmethod(methodHandle method, 322 static nmethod* new_native_nmethod(methodHandle method,
320 int compile_id, 323 int compile_id,