We're using nmethod entry barriers regardless of GC selection since JDK-8290025.
ZGC calls disarm(nm) in ZNMethod::register_nmethod(nmethod* nm). That disables the barrier for new nmethods before their first execution.
ShenandoahGC also calls a disarm function in ShenandoahNMethodTable::register_nmethod(nmethod* nm).
Such a disarm is missing for other GCs. That causes unnecessary execution of the barriers after new nmethods are installed into the code cache.
Total execution of nmethod entry barrier code and patching during concurrent execution can be reduced significantly.