773 !strcmp(_matrule->_rChild->_opType,"CreateEx") || // type of exception |
773 !strcmp(_matrule->_rChild->_opType,"CreateEx") || // type of exception |
774 !strcmp(_matrule->_rChild->_opType,"CheckCastPP") || |
774 !strcmp(_matrule->_rChild->_opType,"CheckCastPP") || |
775 !strcmp(_matrule->_rChild->_opType,"GetAndSetP") || |
775 !strcmp(_matrule->_rChild->_opType,"GetAndSetP") || |
776 !strcmp(_matrule->_rChild->_opType,"GetAndSetN") || |
776 !strcmp(_matrule->_rChild->_opType,"GetAndSetN") || |
777 !strcmp(_matrule->_rChild->_opType,"CompareAndExchangeP") || |
777 !strcmp(_matrule->_rChild->_opType,"CompareAndExchangeP") || |
778 !strcmp(_matrule->_rChild->_opType,"CompareAndExchangeN"))) return true; |
778 !strcmp(_matrule->_rChild->_opType,"CompareAndExchangeN") || |
|
779 !strcmp(_matrule->_rChild->_opType,"ShenandoahCompareAndExchangeP") || |
|
780 !strcmp(_matrule->_rChild->_opType,"ShenandoahCompareAndExchangeN") || |
|
781 !strcmp(_matrule->_rChild->_opType,"ShenandoahReadBarrier"))) return true; |
779 else if ( is_ideal_load() == Form::idealP ) return true; |
782 else if ( is_ideal_load() == Form::idealP ) return true; |
780 else if ( is_ideal_store() != Form::none ) return true; |
783 else if ( is_ideal_store() != Form::none ) return true; |
781 |
784 |
782 if (needs_base_oop_edge(globals)) return true; |
785 if (needs_base_oop_edge(globals)) return true; |
783 |
786 |
3496 "LoadPLocked", |
3499 "LoadPLocked", |
3497 "StorePConditional", "StoreIConditional", "StoreLConditional", |
3500 "StorePConditional", "StoreIConditional", "StoreLConditional", |
3498 "CompareAndSwapB", "CompareAndSwapS", "CompareAndSwapI", "CompareAndSwapL", "CompareAndSwapP", "CompareAndSwapN", |
3501 "CompareAndSwapB", "CompareAndSwapS", "CompareAndSwapI", "CompareAndSwapL", "CompareAndSwapP", "CompareAndSwapN", |
3499 "WeakCompareAndSwapB", "WeakCompareAndSwapS", "WeakCompareAndSwapI", "WeakCompareAndSwapL", "WeakCompareAndSwapP", "WeakCompareAndSwapN", |
3502 "WeakCompareAndSwapB", "WeakCompareAndSwapS", "WeakCompareAndSwapI", "WeakCompareAndSwapL", "WeakCompareAndSwapP", "WeakCompareAndSwapN", |
3500 "CompareAndExchangeB", "CompareAndExchangeS", "CompareAndExchangeI", "CompareAndExchangeL", "CompareAndExchangeP", "CompareAndExchangeN", |
3503 "CompareAndExchangeB", "CompareAndExchangeS", "CompareAndExchangeI", "CompareAndExchangeL", "CompareAndExchangeP", "CompareAndExchangeN", |
|
3504 "ShenandoahCompareAndSwapN", "ShenandoahCompareAndSwapP", "ShenandoahWeakCompareAndSwapP", "ShenandoahWeakCompareAndSwapN", "ShenandoahCompareAndExchangeP", "ShenandoahCompareAndExchangeN", |
3501 "StoreCM", |
3505 "StoreCM", |
3502 "ClearArray", |
3506 "ClearArray", |
3503 "GetAndSetB", "GetAndSetS", "GetAndAddI", "GetAndSetI", "GetAndSetP", |
3507 "GetAndSetB", "GetAndSetS", "GetAndAddI", "GetAndSetI", "GetAndSetP", |
3504 "GetAndAddB", "GetAndAddS", "GetAndAddL", "GetAndSetL", "GetAndSetN", |
3508 "GetAndAddB", "GetAndAddS", "GetAndAddL", "GetAndSetL", "GetAndSetN", |
|
3509 "ShenandoahReadBarrier", |
3505 "LoadBarrierSlowReg", "LoadBarrierWeakSlowReg" |
3510 "LoadBarrierSlowReg", "LoadBarrierWeakSlowReg" |
3506 }; |
3511 }; |
3507 int cnt = sizeof(needs_ideal_memory_list)/sizeof(char*); |
3512 int cnt = sizeof(needs_ideal_memory_list)/sizeof(char*); |
3508 if( strcmp(_opType,"PrefetchAllocation")==0 ) |
3513 if( strcmp(_opType,"PrefetchAllocation")==0 ) |
3509 return 1; |
3514 return 1; |