Mercurial > hg > graal-jvmci-8
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, |