Lines Matching refs:xk

2370 TypeOopPtr::TypeOopPtr( TYPES t, PTR ptr, ciKlass* k, bool xk, ciObject* o, int offset, int instance_id )
2373 _klass_is_exact(xk),
2441 bool xk = false;
2443 return (TypeOopPtr*)(new TypeOopPtr(OopPtr, ptr, k, xk, o, offset, instance_id))->hashcons();
2474 bool xk = klass_is_exact();
2478 return TypeKlassPtr::make(xk? Constant: NotNull, k, 0);
2592 bool xk = etype->klass_is_exact();
2597 const TypeAryPtr* arr = TypeAryPtr::make(TypePtr::BotPTR, arr0, klass, xk, 0);
2834 TypeInstPtr::TypeInstPtr(PTR ptr, ciKlass* k, bool xk, ciObject* o, int off, int instance_id)
2835 : TypeOopPtr(InstPtr, ptr, k, xk, o, off, instance_id), _name(k->name()) {
2844 bool xk,
2856 assert(instance_id <= 0 || xk || !UseExactTypes, "instances are always exactly typed");
2857 if (!UseExactTypes) xk = false;
2860 xk = true;
2863 if (!xk && ik->is_final()) xk = true; // no inexact final klass
2864 if (xk && ik->is_interface()) xk = false; // no exact interface
2869 (TypeInstPtr*)(new TypeInstPtr(ptr, k, xk, o ,offset, instance_id))->hashcons();
2890 if( (ik->is_final() || _const_oop) ) return this; // cannot clear xk
2891 if( ik->is_interface() ) return this; // cannot set xk
3125 bool xk;
3133 xk = below_centerline(ptr) ? tinst_xk : this_xk;
3139 xk = above_centerline(ptr) ? tinst_xk : false;
3149 return make( ptr, k, xk, o, off, instance_id );
3342 const TypeAryPtr *TypeAryPtr::make( PTR ptr, const TypeAry *ary, ciKlass* k, bool xk, int offset, int instance_id ) {
3345 if (!xk) xk = ary->ary_must_be_exact();
3346 assert(instance_id <= 0 || xk || !UseExactTypes, "instances are always exactly typed");
3347 if (!UseExactTypes) xk = (ptr == Constant);
3348 return (TypeAryPtr*)(new TypeAryPtr(ptr, NULL, ary, k, xk, offset, instance_id))->hashcons();
3352 const TypeAryPtr *TypeAryPtr::make( PTR ptr, ciObject* o, const TypeAry *ary, ciKlass* k, bool xk, int offset, int instance_id ) {
3356 if (!xk) xk = (o != NULL) || ary->ary_must_be_exact();
3357 assert(instance_id <= 0 || xk || !UseExactTypes, "instances are always exactly typed");
3358 if (!UseExactTypes) xk = (ptr == Constant);
3359 return (TypeAryPtr*)(new TypeAryPtr(ptr, o, ary, k, xk, offset, instance_id))->hashcons();
3373 if (_ary->ary_must_be_exact()) return this; // cannot clear xk
3557 bool xk = false;
3562 xk = (tap->_klass_is_exact | this->_klass_is_exact);
3563 return make( ptr, const_oop(), tary, lazy_klass, xk, off, instance_id );
3568 xk = (klass() == tap->klass());
3573 xk = true;
3577 xk = true;
3580 xk = this->_klass_is_exact && (klass() == tap->klass());
3582 return TypeAryPtr::make( ptr, o, tary, lazy_klass, xk, off, instance_id );
3588 xk = tap->_klass_is_exact;
3590 xk = this->_klass_is_exact;
3591 else xk = (tap->_klass_is_exact & this->_klass_is_exact) &&
3593 return TypeAryPtr::make( ptr, NULL, tary, lazy_klass, xk, off, instance_id );
3987 bool xk = klass_is_exact();
3988 //return TypeInstPtr::make(TypePtr::NotNull, k, xk, NULL, 0);
3991 return toop->cast_to_exactness(xk)->is_oopptr();