comparison src/share/vm/adlc/formssel.cpp @ 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 c7b60b601eb4
children 95134e034042
comparison
equal deleted inserted replaced
3848:a19c671188cb 3849:f1c12354c3f7
622 if( _matrule == NULL ) return false; 622 if( _matrule == NULL ) return false;
623 if( !_matrule->_opType ) return false; 623 if( !_matrule->_opType ) return false;
624 624
625 if( strcmp(_matrule->_opType,"MemBarRelease") == 0 ) return true; 625 if( strcmp(_matrule->_opType,"MemBarRelease") == 0 ) return true;
626 if( strcmp(_matrule->_opType,"MemBarAcquire") == 0 ) return true; 626 if( strcmp(_matrule->_opType,"MemBarAcquire") == 0 ) return true;
627 if( strcmp(_matrule->_opType,"MemBarReleaseLock") == 0 ) return true;
628 if( strcmp(_matrule->_opType,"MemBarAcquireLock") == 0 ) return true;
627 629
628 return false; 630 return false;
629 } 631 }
630 632
631 int InstructForm::memory_operand(FormDict &globals) const { 633 int InstructForm::memory_operand(FormDict &globals) const {
3939 bool MatchRule::is_ideal_membar() const { 3941 bool MatchRule::is_ideal_membar() const {
3940 if( !_opType ) return false; 3942 if( !_opType ) return false;
3941 return 3943 return
3942 !strcmp(_opType,"MemBarAcquire" ) || 3944 !strcmp(_opType,"MemBarAcquire" ) ||
3943 !strcmp(_opType,"MemBarRelease" ) || 3945 !strcmp(_opType,"MemBarRelease" ) ||
3946 !strcmp(_opType,"MemBarAcquireLock") ||
3947 !strcmp(_opType,"MemBarReleaseLock") ||
3944 !strcmp(_opType,"MemBarVolatile" ) || 3948 !strcmp(_opType,"MemBarVolatile" ) ||
3945 !strcmp(_opType,"MemBarCPUOrder" ) ; 3949 !strcmp(_opType,"MemBarCPUOrder" ) ;
3946 } 3950 }
3947 3951
3948 bool MatchRule::is_ideal_loadPC() const { 3952 bool MatchRule::is_ideal_loadPC() const {