< prev index next >

src/hotspot/share/adlc/formssel.cpp

Print this page




3500     "StoreI","StoreL","StoreP","StoreN","StoreNKlass","StoreD","StoreF" ,
3501     "StoreB","StoreC","Store" ,"StoreFP",
3502     "LoadI", "LoadL", "LoadP" ,"LoadN", "LoadD" ,"LoadF"  ,
3503     "LoadB" , "LoadUB", "LoadUS" ,"LoadS" ,"Load" ,
3504     "StoreVector", "LoadVector",
3505     "LoadRange", "LoadKlass", "LoadNKlass", "LoadL_unaligned", "LoadD_unaligned",
3506     "LoadPLocked",
3507     "StorePConditional", "StoreIConditional", "StoreLConditional",
3508     "CompareAndSwapB", "CompareAndSwapS", "CompareAndSwapI", "CompareAndSwapL", "CompareAndSwapP", "CompareAndSwapN",
3509     "WeakCompareAndSwapB", "WeakCompareAndSwapS", "WeakCompareAndSwapI", "WeakCompareAndSwapL", "WeakCompareAndSwapP", "WeakCompareAndSwapN",
3510     "CompareAndExchangeB", "CompareAndExchangeS", "CompareAndExchangeI", "CompareAndExchangeL", "CompareAndExchangeP", "CompareAndExchangeN",
3511     "StoreCM",
3512     "ClearArray",
3513     "GetAndSetB", "GetAndSetS", "GetAndAddI", "GetAndSetI", "GetAndSetP",
3514     "GetAndAddB", "GetAndAddS", "GetAndAddL", "GetAndSetL", "GetAndSetN",
3515     "LoadBarrierSlowReg", "LoadBarrierWeakSlowReg"
3516   };
3517   int cnt = sizeof(needs_ideal_memory_list)/sizeof(char*);
3518   if( strcmp(_opType,"PrefetchAllocation")==0 )
3519     return 1;






3520   if( _lChild ) {
3521     const char *opType = _lChild->_opType;
3522     for( int i=0; i<cnt; i++ )
3523       if( strcmp(opType,needs_ideal_memory_list[i]) == 0 )
3524         return 1;
3525     if( _lChild->needs_ideal_memory_edge(globals) )
3526       return 1;
3527   }
3528   if( _rChild ) {
3529     const char *opType = _rChild->_opType;
3530     for( int i=0; i<cnt; i++ )
3531       if( strcmp(opType,needs_ideal_memory_list[i]) == 0 )
3532         return 1;
3533     if( _rChild->needs_ideal_memory_edge(globals) )
3534       return 1;
3535   }
3536 
3537   return 0;
3538 }
3539 




3500     "StoreI","StoreL","StoreP","StoreN","StoreNKlass","StoreD","StoreF" ,
3501     "StoreB","StoreC","Store" ,"StoreFP",
3502     "LoadI", "LoadL", "LoadP" ,"LoadN", "LoadD" ,"LoadF"  ,
3503     "LoadB" , "LoadUB", "LoadUS" ,"LoadS" ,"Load" ,
3504     "StoreVector", "LoadVector",
3505     "LoadRange", "LoadKlass", "LoadNKlass", "LoadL_unaligned", "LoadD_unaligned",
3506     "LoadPLocked",
3507     "StorePConditional", "StoreIConditional", "StoreLConditional",
3508     "CompareAndSwapB", "CompareAndSwapS", "CompareAndSwapI", "CompareAndSwapL", "CompareAndSwapP", "CompareAndSwapN",
3509     "WeakCompareAndSwapB", "WeakCompareAndSwapS", "WeakCompareAndSwapI", "WeakCompareAndSwapL", "WeakCompareAndSwapP", "WeakCompareAndSwapN",
3510     "CompareAndExchangeB", "CompareAndExchangeS", "CompareAndExchangeI", "CompareAndExchangeL", "CompareAndExchangeP", "CompareAndExchangeN",
3511     "StoreCM",
3512     "ClearArray",
3513     "GetAndSetB", "GetAndSetS", "GetAndAddI", "GetAndSetI", "GetAndSetP",
3514     "GetAndAddB", "GetAndAddS", "GetAndAddL", "GetAndSetL", "GetAndSetN",
3515     "LoadBarrierSlowReg", "LoadBarrierWeakSlowReg"
3516   };
3517   int cnt = sizeof(needs_ideal_memory_list)/sizeof(char*);
3518   if( strcmp(_opType,"PrefetchAllocation")==0 )
3519     return 1;
3520   if( strcmp(_opType,"CacheWB")==0 )
3521     return 1;
3522   if( strcmp(_opType,"CacheWBPreSync")==0 )
3523     return 1;
3524   if( strcmp(_opType,"CacheWBPostSync")==0 )
3525     return 1;
3526   if( _lChild ) {
3527     const char *opType = _lChild->_opType;
3528     for( int i=0; i<cnt; i++ )
3529       if( strcmp(opType,needs_ideal_memory_list[i]) == 0 )
3530         return 1;
3531     if( _lChild->needs_ideal_memory_edge(globals) )
3532       return 1;
3533   }
3534   if( _rChild ) {
3535     const char *opType = _rChild->_opType;
3536     for( int i=0; i<cnt; i++ )
3537       if( strcmp(opType,needs_ideal_memory_list[i]) == 0 )
3538         return 1;
3539     if( _rChild->needs_ideal_memory_edge(globals) )
3540       return 1;
3541   }
3542 
3543   return 0;
3544 }
3545 


< prev index next >