< prev index next >

src/share/vm/adlc/formssel.cpp

Print this page

        

@@ -638,26 +638,10 @@
   }
   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;

@@ -1158,10 +1142,13 @@
     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,10 +3472,11 @@
     "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 >