< prev index next >

src/hotspot/share/adlc/formssel.cpp

Print this page
rev 52827 : Revert MachMemBarNode related diffs vs. upstream

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

@@ -1160,13 +1176,10 @@
     return "MachFastLockNode";
   }
   else if (is_ideal_nop()) {
     return "MachNopNode";
   }
-  else if (is_ideal_membar()) {
-    return "MachMemBarNode";
-  }
   else if (is_ideal_jump()) {
     return "MachJumpNode";
   }
   else if (is_mach_constant()) {
     return "MachConstantNode";

@@ -4110,12 +4123,11 @@
     !strcmp(_opType,"MemBarReleaseLock") ||
     !strcmp(_opType,"LoadFence" ) ||
     !strcmp(_opType,"StoreFence") ||
     !strcmp(_opType,"MemBarVolatile") ||
     !strcmp(_opType,"MemBarCPUOrder") ||
-    !strcmp(_opType,"MemBarStoreStore") ||
-    !strcmp(_opType,"OnSpinWait");
+    !strcmp(_opType,"MemBarStoreStore");
 }
 
 bool MatchRule::is_ideal_loadPC() const {
   if ( _opType && (strcmp(_opType,"Set") == 0) && _rChild ) {
     return (strcmp(_rChild->_opType,"LoadPC") == 0);
< prev index next >