comparison src/share/vm/opto/matcher.hpp @ 3849:f1c12354c3f7

7074017: Introduce MemBarAcquireLock/MemBarReleaseLock nodes for monitor enter/exit code paths Summary: replace MemBarAcquire/MemBarRelease nodes on the monitor enter/exit code paths with new MemBarAcquireLock/MemBarReleaseLock nodes Reviewed-by: kvn, twisti
author roland
date Tue, 02 Aug 2011 18:36:40 +0200
parents 1d1603768966
children 95134e034042
comparison
equal deleted inserted replaced
3848:a19c671188cb 3849:f1c12354c3f7
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