mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8171008: Integrate AOT compiler into JDK
Co-authored-by: Christian Thalinger <cthalinger@twitter.com> Co-authored-by: Dean Long <dean.long@oracle.com> Co-authored-by: Dmitrij Pochepko <dmitrij.pochepko@oracle.com> Co-authored-by: Dmitry Chuyko <dmitry.chuyko@oracle.com> Co-authored-by: Doug Simon <doug.simon@oracle.com> Co-authored-by: Eric Caspole <eric.caspole@oracle.com> Co-authored-by: Igor Ignatyev <igor.ignatyev@oracle.com> Co-authored-by: Igor Veresov <igor.veresov@oracle.com> Co-authored-by: John Rose <john.r.rose@oracle.com> Co-authored-by: Morris Meyer <morris.meyer@oracle.com> Co-authored-by: Niclas Adlertz <niclas.adlertz@oracle.com> Co-authored-by: Rickard Backman <rickard.backman@oracle.com> Reviewed-by: erikj, mchung, psandoz, coleenp, iklam, stefank, simonis
This commit is contained in:
parent
3ef35612c7
commit
2841c5eb2b
262 changed files with 19625 additions and 676 deletions
|
@ -302,13 +302,6 @@ class nmethod : public CompiledMethod {
|
|||
address entry_point() const { return _entry_point; } // normal entry point
|
||||
address verified_entry_point() const { return _verified_entry_point; } // if klass is correct
|
||||
|
||||
enum { in_use = 0, // executable nmethod
|
||||
not_entrant = 1, // marked for deoptimization but activations may still exist,
|
||||
// will be transformed to zombie when all activations are gone
|
||||
zombie = 2, // no activations exist, nmethod is ready for purge
|
||||
unloaded = 3 }; // there should be no activations, should not be called,
|
||||
// will be transformed to zombie immediately
|
||||
|
||||
// flag accessing and manipulation
|
||||
bool is_in_use() const { return _state == in_use; }
|
||||
bool is_alive() const { unsigned char s = _state; return s < zombie; }
|
||||
|
@ -583,6 +576,14 @@ public:
|
|||
static int state_offset() { return offset_of(nmethod, _state); }
|
||||
|
||||
virtual void metadata_do(void f(Metadata*));
|
||||
|
||||
NativeCallWrapper* call_wrapper_at(address call) const;
|
||||
NativeCallWrapper* call_wrapper_before(address return_pc) const;
|
||||
address call_instruction_address(address pc) const;
|
||||
|
||||
virtual CompiledStaticCall* compiledStaticCall_at(Relocation* call_site) const;
|
||||
virtual CompiledStaticCall* compiledStaticCall_at(address addr) const;
|
||||
virtual CompiledStaticCall* compiledStaticCall_before(address addr) const;
|
||||
};
|
||||
|
||||
// Locks an nmethod so its code will not get removed and it will not
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue