853 bool too_many_traps(Deoptimization::DeoptReason reason, |
853 bool too_many_traps(Deoptimization::DeoptReason reason, |
854 // Privately used parameter for logging: |
854 // Privately used parameter for logging: |
855 ciMethodData* logmd = NULL); |
855 ciMethodData* logmd = NULL); |
856 // Report if there were too many recompiles at a method and bci. |
856 // Report if there were too many recompiles at a method and bci. |
857 bool too_many_recompiles(ciMethod* method, int bci, Deoptimization::DeoptReason reason); |
857 bool too_many_recompiles(ciMethod* method, int bci, Deoptimization::DeoptReason reason); |
|
858 // Return a bitset with the reasons where deoptimization is allowed, |
|
859 // i.e., where there were not too many uncommon traps. |
|
860 int _allowed_reasons; |
|
861 int allowed_deopt_reasons() { return _allowed_reasons; } |
|
862 void set_allowed_deopt_reasons(); |
858 |
863 |
859 // Parsing, optimization |
864 // Parsing, optimization |
860 PhaseGVN* initial_gvn() { return _initial_gvn; } |
865 PhaseGVN* initial_gvn() { return _initial_gvn; } |
861 Unique_Node_List* for_igvn() { return _for_igvn; } |
866 Unique_Node_List* for_igvn() { return _for_igvn; } |
862 inline void record_for_igvn(Node* n); // Body is after class Unique_Node_List. |
867 inline void record_for_igvn(Node* n); // Body is after class Unique_Node_List. |