--- old/src/share/vm/adlc/archDesc.cpp	2008-12-08 17:22:45.134378735 -0800
+++ new/src/share/vm/adlc/archDesc.cpp	2008-12-08 17:22:44.340408592 -0800
@@ -140,7 +140,7 @@
       if ((rch == _rchild) || (rch && _rchild && !strcmp(rch, _rchild))) {
         char * predStr = get_pred();
         char * prStr = pr?pr->_pred:NULL;
-        if ((prStr == predStr) || (prStr && predStr && !strcmp(prStr, predStr))) {
+        if (ADLParser::equivalent_expressions(prStr, predStr)) {
           return true;
         }
       }
