< prev index next >

src/hotspot/share/opto/type.cpp

Print this page

        

@@ -2107,11 +2107,11 @@
 
   case Array: {                 // Meeting 2 arrays?
     const TypeAry *a = t->is_ary();
     return TypeAry::make(_elem->meet_speculative(a->_elem),
                          _size->xmeet(a->_size)->is_int(),
-                         _stable && a->_stable);
+                         _stable & a->_stable);
   }
   case Top:
     break;
   }
   return this;                  // Return the double constant

@@ -3877,11 +3877,11 @@
     // Check for subtyping:
     ciKlass *subtype = NULL;
     bool subtype_exact = false;
     if( tinst_klass->equals(this_klass) ) {
       subtype = this_klass;
-      subtype_exact = below_centerline(ptr) ? (this_xk && tinst_xk) : (this_xk || tinst_xk);
+      subtype_exact = below_centerline(ptr) ? (this_xk & tinst_xk) : (this_xk | tinst_xk);
     } else if( !tinst_xk && this_klass->is_subtype_of( tinst_klass ) ) {
       subtype = this_klass;     // Pick subtyping class
       subtype_exact = this_xk;
     } else if( !this_xk && tinst_klass->is_subtype_of( this_klass ) ) {
       subtype = tinst_klass;    // Pick subtyping class

@@ -4359,11 +4359,11 @@
     case TopPTR:
       // Compute new klass on demand, do not use tap->_klass
       if (below_centerline(this->_ptr)) {
         xk = this->_klass_is_exact;
       } else {
-        xk = (tap->_klass_is_exact || this->_klass_is_exact);
+        xk = (tap->_klass_is_exact | this->_klass_is_exact);
       }
       return make(ptr, const_oop(), tary, lazy_klass, xk, off, instance_id, speculative, depth);
     case Constant: {
       ciObject* o = const_oop();
       if( _ptr == Constant ) {
< prev index next >