< prev index next >

src/share/vm/adlc/formssel.cpp

Print this page

        

*** 638,663 **** } return (USE_of_memory && !DEF_of_memory); } - bool InstructForm::is_wide_memory_kill(FormDict &globals) const { - if( _matrule == NULL ) return false; - if( !_matrule->_opType ) return false; - - if( strcmp(_matrule->_opType,"MemBarRelease") == 0 ) return true; - if( strcmp(_matrule->_opType,"MemBarAcquire") == 0 ) return true; - if( strcmp(_matrule->_opType,"MemBarReleaseLock") == 0 ) return true; - if( strcmp(_matrule->_opType,"MemBarAcquireLock") == 0 ) return true; - if( strcmp(_matrule->_opType,"MemBarStoreStore") == 0 ) return true; - if( strcmp(_matrule->_opType,"MemBarVolatile") == 0 ) return true; - if( strcmp(_matrule->_opType,"StoreFence") == 0 ) return true; - if( strcmp(_matrule->_opType,"LoadFence") == 0 ) return true; - - return false; - } - int InstructForm::memory_operand(FormDict &globals) const { // Machine independent loads must be checked for anti-dependences // Check if instruction has a USE of a memory operand class, or a def. int USE_of_memory = 0; int DEF_of_memory = 0; --- 638,647 ----
*** 1158,1167 **** --- 1142,1154 ---- return "MachFastLockNode"; } else if (is_ideal_nop()) { return "MachNopNode"; } + else if (is_ideal_membar()) { + return "MachMemBarNode"; + } else if (is_mach_constant()) { return "MachConstantNode"; } else if (captures_bottom_type(globals)) { return "MachTypeNode";
*** 3485,3494 **** --- 3472,3482 ---- "StoreVector", "LoadVector", "LoadRange", "LoadKlass", "LoadNKlass", "LoadL_unaligned", "LoadD_unaligned", "LoadPLocked", "StorePConditional", "StoreIConditional", "StoreLConditional", "CompareAndSwapI", "CompareAndSwapL", "CompareAndSwapP", "CompareAndSwapN", + "ShenandoahCompareAndSwapN", "ShenandoahCompareAndSwapP", "StoreCM", "ClearArray", "GetAndAddI", "GetAndSetI", "GetAndSetP", "GetAndAddL", "GetAndSetL", "GetAndSetN", };
< prev index next >