< prev index next >

src/share/vm/opto/type.hpp

Print this page
rev 10504 : value type calling convention

*** 647,657 **** _fields[i] = t; } static const TypeTuple *make( uint cnt, const Type **fields ); static const TypeTuple *make_range(ciSignature *sig); ! static const TypeTuple *make_domain(ciInstanceKlass* recv, ciSignature *sig); // Subroutine call type with space allocated for argument types // Memory for Control, I_O, Memory, FramePtr, and ReturnAdr is allocated implicitly static const Type **fields( uint arg_cnt ); --- 647,657 ---- _fields[i] = t; } static const TypeTuple *make( uint cnt, const Type **fields ); static const TypeTuple *make_range(ciSignature *sig); ! static const TypeTuple *make_domain(ciInstanceKlass* recv, ciSignature *sig, bool is_cc = false); // Subroutine call type with space allocated for argument types // Memory for Control, I_O, Memory, FramePtr, and ReturnAdr is allocated implicitly static const Type **fields( uint arg_cnt );
*** 1525,1541 **** }; //------------------------------TypeFunc--------------------------------------- // Class of Array Types class TypeFunc : public Type { ! TypeFunc( const TypeTuple *domain, const TypeTuple *range ) : Type(Function), _domain(domain), _range(range) {} virtual bool eq( const Type *t ) const; virtual int hash() const; // Type specific hashing virtual bool singleton(void) const; // TRUE if type is a singleton virtual bool empty(void) const; // TRUE if type is vacuous ! const TypeTuple* const _domain; // Domain of inputs const TypeTuple* const _range; // Range of results public: // Constants are shared among ADLC and VM enum { Control = AdlcVMDeps::Control, --- 1525,1542 ---- }; //------------------------------TypeFunc--------------------------------------- // Class of Array Types class TypeFunc : public Type { ! TypeFunc(const TypeTuple *domain_sig, const TypeTuple *domain_cc, const TypeTuple *range) : Type(Function), _domain_sig(domain_sig), _domain_cc(domain_cc), _range(range) {} virtual bool eq( const Type *t ) const; virtual int hash() const; // Type specific hashing virtual bool singleton(void) const; // TRUE if type is a singleton virtual bool empty(void) const; // TRUE if type is vacuous ! const TypeTuple* const _domain_sig; // Domain of inputs ! const TypeTuple* const _domain_cc; // Domain of inputs const TypeTuple* const _range; // Range of results public: // Constants are shared among ADLC and VM enum { Control = AdlcVMDeps::Control,
*** 1546,1561 **** Parms = AdlcVMDeps::Parms }; // Accessors: ! const TypeTuple* domain() const { return _domain; } const TypeTuple* range() const { return _range; } static const TypeFunc *make(ciMethod* method); static const TypeFunc *make(ciSignature signature, const Type* extra); ! static const TypeFunc *make(const TypeTuple* domain, const TypeTuple* range); virtual const Type *xmeet( const Type *t ) const; virtual const Type *xdual() const; // Compute dual right now. BasicType return_type() const; --- 1547,1563 ---- Parms = AdlcVMDeps::Parms }; // Accessors: ! const TypeTuple* domain_sig() const { return _domain_sig; } ! const TypeTuple* domain_cc() const { return _domain_cc; } const TypeTuple* range() const { return _range; } static const TypeFunc *make(ciMethod* method); static const TypeFunc *make(ciSignature signature, const Type* extra); ! static const TypeFunc *make(const TypeTuple* domain, const TypeTuple* domain_cc, const TypeTuple* range); virtual const Type *xmeet( const Type *t ) const; virtual const Type *xdual() const; // Compute dual right now. BasicType return_type() const;
< prev index next >