Mercurial > hg > graal-jvmci-8
comparison src/share/vm/code/nmethod.hpp @ 13451:02f27ecb4f3a
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 18 Dec 2013 00:00:24 +0100 |
parents | ec3e4f35e466 df832bd8edb9 |
children | 5a9afbf72714 |
comparison
equal
deleted
inserted
replaced
13371:4db09b7304da | 13451:02f27ecb4f3a |
---|---|
190 | 190 |
191 #ifdef ASSERT | 191 #ifdef ASSERT |
192 bool _oops_are_stale; // indicates that it's no longer safe to access oops section | 192 bool _oops_are_stale; // indicates that it's no longer safe to access oops section |
193 #endif | 193 #endif |
194 | 194 |
195 enum { alive = 0, | 195 enum { in_use = 0, // executable nmethod |
196 not_entrant = 1, // uncommon trap has happened but activations may still exist | 196 not_entrant = 1, // marked for deoptimization but activations may still exist, |
197 zombie = 2, | 197 // will be transformed to zombie when all activations are gone |
198 unloaded = 3 }; | 198 zombie = 2, // no activations exist, nmethod is ready for purge |
199 | 199 unloaded = 3 }; // there should be no activations, should not be called, |
200 // will be transformed to zombie immediately | |
200 | 201 |
201 jbyte _scavenge_root_state; | 202 jbyte _scavenge_root_state; |
202 | 203 |
203 // Nmethod Flushing lock. If non-zero, then the nmethod is not removed | 204 // Nmethod Flushing lock. If non-zero, then the nmethod is not removed |
204 // and is not made into a zombie. However, once the nmethod is made into | 205 // and is not made into a zombie. However, once the nmethod is made into |
428 // entry points | 429 // entry points |
429 address entry_point() const { return _entry_point; } // normal entry point | 430 address entry_point() const { return _entry_point; } // normal entry point |
430 address verified_entry_point() const { return _verified_entry_point; } // if klass is correct | 431 address verified_entry_point() const { return _verified_entry_point; } // if klass is correct |
431 | 432 |
432 // flag accessing and manipulation | 433 // flag accessing and manipulation |
433 bool is_in_use() const { return _state == alive; } | 434 bool is_in_use() const { return _state == in_use; } |
434 bool is_alive() const { return _state == alive || _state == not_entrant; } | 435 bool is_alive() const { return _state == in_use || _state == not_entrant; } |
435 bool is_not_entrant() const { return _state == not_entrant; } | 436 bool is_not_entrant() const { return _state == not_entrant; } |
436 bool is_zombie() const { return _state == zombie; } | 437 bool is_zombie() const { return _state == zombie; } |
437 bool is_unloaded() const { return _state == unloaded; } | 438 bool is_unloaded() const { return _state == unloaded; } |
438 | 439 |
439 // Make the nmethod non entrant. The nmethod will continue to be | 440 // Make the nmethod non entrant. The nmethod will continue to be |