A large part of the G1 write barrier is only used during marking, hence the code it not commonly executed.
To make the active code segments smaller and better fit the cache these unused segments should be schedule outside of the common path.
Setting the the first branch of the pre-barrier check to be unlikely will make the compiler treat the barrier code as cold and hence schedule it outside of the hot path.
This helps to improve the performance of the generated when no concurrent marking is running.