439 static void soft_match_failure() { |
439 static void soft_match_failure() { |
440 if( SoftMatchFailure ) return; |
440 if( SoftMatchFailure ) return; |
441 else { fatal("SoftMatchFailure is not allowed except in product"); } |
441 else { fatal("SoftMatchFailure is not allowed except in product"); } |
442 } |
442 } |
443 |
443 |
444 // Used by the DFA in dfa_sparc.cpp. Check for a prior FastLock |
|
445 // acting as an Acquire and thus we don't need an Acquire here. We |
|
446 // retain the Node to act as a compiler ordering barrier. |
|
447 static bool prior_fast_lock( const Node *acq ); |
|
448 |
|
449 // Used by the DFA in dfa_sparc.cpp. Check for a following |
|
450 // FastUnLock acting as a Release and thus we don't need a Release |
|
451 // here. We retain the Node to act as a compiler ordering barrier. |
|
452 static bool post_fast_unlock( const Node *rel ); |
|
453 |
|
454 // Check for a following volatile memory barrier without an |
444 // Check for a following volatile memory barrier without an |
455 // intervening load and thus we don't need a barrier here. We |
445 // intervening load and thus we don't need a barrier here. We |
456 // retain the Node to act as a compiler ordering barrier. |
446 // retain the Node to act as a compiler ordering barrier. |
457 static bool post_store_load_barrier(const Node* mb); |
447 static bool post_store_load_barrier(const Node* mb); |
458 |
448 |