@@ -471,77 +471,74 @@ class nmethod : public CodeBlob {
471471 void oops_do_set_strong_done (nmethod* old_head);
472472
473473public:
474- enum class ChangeReason : u1 {
475- C1_codepatch,
476- C1_deoptimize,
477- C1_deoptimize_for_patching,
478- C1_predicate_failed_trap,
479- CI_replay,
480- JVMCI_invalidate_nmethod,
481- JVMCI_invalidate_nmethod_mirror,
482- JVMCI_materialize_virtual_object,
483- JVMCI_new_installation,
484- JVMCI_register_method,
485- JVMCI_replacing_with_new_code,
486- JVMCI_reprofile,
487- marked_for_deoptimization,
488- missing_exception_handler,
489- not_used,
490- OSR_invalidation_back_branch,
491- OSR_invalidation_for_compiling_with_C1,
492- OSR_invalidation_of_lower_level,
493- set_native_function,
494- uncommon_trap,
495- whitebox_deoptimization,
496- zombie,
474+ // If you change anything in this enum please patch
475+ // vmStructs_jvmci.cpp accordingly.
476+ enum class InvalidationReason : s1 {
477+ NOT_INVALIDATED = -1 ,
478+ C1_CODEPATCH,
479+ C1_DEOPTIMIZE,
480+ C1_DEOPTIMIZE_FOR_PATCHING,
481+ C1_PREDICATE_FAILED_TRAP,
482+ CI_REPLAY,
483+ UNLOADING,
484+ UNLOADING_COLD,
485+ JVMCI_INVALIDATE,
486+ JVMCI_MATERIALIZE_VIRTUAL_OBJECT,
487+ JVMCI_REPLACED_WITH_NEW_CODE,
488+ JVMCI_REPROFILE,
489+ MARKED_FOR_DEOPTIMIZATION,
490+ MISSING_EXCEPTION_HANDLER,
491+ NOT_USED,
492+ OSR_INVALIDATION_BACK_BRANCH,
493+ OSR_INVALIDATION_FOR_COMPILING_WITH_C1,
494+ OSR_INVALIDATION_OF_LOWER_LEVEL,
495+ SET_NATIVE_FUNCTION,
496+ UNCOMMON_TRAP,
497+ WHITEBOX_DEOPTIMIZATION,
498+ ZOMBIE,
499+ INVALIDATION_REASONS_COUNT
497500 };
498501
499502
500- static const char * change_reason_to_string (ChangeReason change_reason ) {
501- switch (change_reason ) {
502- case ChangeReason::C1_codepatch :
503+ static const char * invalidation_reason_to_string (InvalidationReason invalidation_reason ) {
504+ switch (invalidation_reason ) {
505+ case InvalidationReason::C1_CODEPATCH :
503506 return " C1 code patch" ;
504- case ChangeReason::C1_deoptimize :
507+ case InvalidationReason::C1_DEOPTIMIZE :
505508 return " C1 deoptimized" ;
506- case ChangeReason::C1_deoptimize_for_patching :
509+ case InvalidationReason::C1_DEOPTIMIZE_FOR_PATCHING :
507510 return " C1 deoptimize for patching" ;
508- case ChangeReason::C1_predicate_failed_trap :
511+ case InvalidationReason::C1_PREDICATE_FAILED_TRAP :
509512 return " C1 predicate failed trap" ;
510- case ChangeReason::CI_replay :
513+ case InvalidationReason::CI_REPLAY :
511514 return " CI replay" ;
512- case ChangeReason::JVMCI_invalidate_nmethod:
513- return " JVMCI invalidate nmethod" ;
514- case ChangeReason::JVMCI_invalidate_nmethod_mirror:
515- return " JVMCI invalidate nmethod mirror" ;
516- case ChangeReason::JVMCI_materialize_virtual_object:
515+ case InvalidationReason::JVMCI_INVALIDATE:
516+ return " JVMCI invalidate" ;
517+ case InvalidationReason::JVMCI_MATERIALIZE_VIRTUAL_OBJECT:
517518 return " JVMCI materialize virtual object" ;
518- case ChangeReason::JVMCI_new_installation:
519- return " JVMCI new installation" ;
520- case ChangeReason::JVMCI_register_method:
521- return " JVMCI register method" ;
522- case ChangeReason::JVMCI_replacing_with_new_code:
523- return " JVMCI replacing with new code" ;
524- case ChangeReason::JVMCI_reprofile:
519+ case InvalidationReason::JVMCI_REPLACED_WITH_NEW_CODE:
520+ return " JVMCI replaced with new code" ;
521+ case InvalidationReason::JVMCI_REPROFILE:
525522 return " JVMCI reprofile" ;
526- case ChangeReason::marked_for_deoptimization :
523+ case InvalidationReason::MARKED_FOR_DEOPTIMIZATION :
527524 return " marked for deoptimization" ;
528- case ChangeReason::missing_exception_handler :
525+ case InvalidationReason::MISSING_EXCEPTION_HANDLER :
529526 return " missing exception handler" ;
530- case ChangeReason::not_used :
527+ case InvalidationReason::NOT_USED :
531528 return " not used" ;
532- case ChangeReason::OSR_invalidation_back_branch :
529+ case InvalidationReason::OSR_INVALIDATION_BACK_BRANCH :
533530 return " OSR invalidation back branch" ;
534- case ChangeReason::OSR_invalidation_for_compiling_with_C1 :
531+ case InvalidationReason::OSR_INVALIDATION_FOR_COMPILING_WITH_C1 :
535532 return " OSR invalidation for compiling with C1" ;
536- case ChangeReason::OSR_invalidation_of_lower_level :
533+ case InvalidationReason::OSR_INVALIDATION_OF_LOWER_LEVEL :
537534 return " OSR invalidation of lower level" ;
538- case ChangeReason::set_native_function :
535+ case InvalidationReason::SET_NATIVE_FUNCTION :
539536 return " set native function" ;
540- case ChangeReason::uncommon_trap :
537+ case InvalidationReason::UNCOMMON_TRAP :
541538 return " uncommon trap" ;
542- case ChangeReason::whitebox_deoptimization :
539+ case InvalidationReason::WHITEBOX_DEOPTIMIZATION :
543540 return " whitebox deoptimization" ;
544- case ChangeReason::zombie :
541+ case InvalidationReason::ZOMBIE :
545542 return " zombie" ;
546543 default : {
547544 assert (false , " Unhandled reason" );
@@ -712,8 +709,8 @@ class nmethod : public CodeBlob {
712709 // alive. It is used when an uncommon trap happens. Returns true
713710 // if this thread changed the state of the nmethod or false if
714711 // another thread performed the transition.
715- bool make_not_entrant (ChangeReason change_reason );
716- bool make_not_used () { return make_not_entrant (ChangeReason::not_used ); }
712+ bool make_not_entrant (InvalidationReason invalidation_reason );
713+ bool make_not_used () { return make_not_entrant (InvalidationReason::NOT_USED ); }
717714
718715 bool is_marked_for_deoptimization () const { return deoptimization_status () != not_marked; }
719716 bool has_been_deoptimized () const { return deoptimization_status () == deoptimize_done; }
@@ -1026,7 +1023,7 @@ class nmethod : public CodeBlob {
10261023 // Logging
10271024 void log_identity (xmlStream* log) const ;
10281025 void log_new_nmethod () const ;
1029- void log_state_change (ChangeReason change_reason ) const ;
1026+ void log_state_change (InvalidationReason invalidation_reason ) const ;
10301027
10311028 // Prints block-level comments, including nmethod specific block labels:
10321029 void print_nmethod_labels (outputStream* stream, address block_begin, bool print_section_labels=true ) const ;
0 commit comments