< prev index next >

src/share/vm/opto/machnode.hpp

Print this page




 846   address      _entry_point;  // Address of the method being called
 847   float        _cnt;          // Estimate of number of times called
 848   uint         _argsize;      // Size of argument block on stack
 849 
 850   const TypeFunc* tf()        const { return _tf; }
 851   const address entry_point() const { return _entry_point; }
 852   const float   cnt()         const { return _cnt; }
 853   uint argsize()              const { return _argsize; }
 854 
 855   void set_tf(const TypeFunc* tf) { _tf = tf; }
 856   void set_entry_point(address p) { _entry_point = p; }
 857   void set_cnt(float c)           { _cnt = c; }
 858   void set_argsize(int s)         { _argsize = s; }
 859 
 860   MachCallNode() : MachSafePointNode() {
 861     init_class_id(Class_MachCall);
 862   }
 863 
 864   virtual const Type *bottom_type() const;
 865   virtual bool  pinned() const { return false; }
 866   virtual const Type *Value( PhaseTransform *phase ) const;
 867   virtual const RegMask &in_RegMask(uint) const;
 868   virtual int ret_addr_offset() { return 0; }
 869 
 870   bool returns_long() const { return tf()->return_type() == T_LONG; }
 871   bool return_value_is_used() const;
 872 
 873   // Similar to cousin class CallNode::returns_pointer
 874   bool returns_pointer() const;
 875 
 876 #ifndef PRODUCT
 877   virtual void dump_spec(outputStream *st) const;
 878 #endif
 879 };
 880 
 881 //------------------------------MachCallJavaNode------------------------------
 882 // "Base" class for machine-specific versions of subroutine calls
 883 class MachCallJavaNode : public MachCallNode {
 884 protected:
 885   virtual uint cmp( const Node &n ) const;
 886   virtual uint size_of() const; // Size is bigger




 846   address      _entry_point;  // Address of the method being called
 847   float        _cnt;          // Estimate of number of times called
 848   uint         _argsize;      // Size of argument block on stack
 849 
 850   const TypeFunc* tf()        const { return _tf; }
 851   const address entry_point() const { return _entry_point; }
 852   const float   cnt()         const { return _cnt; }
 853   uint argsize()              const { return _argsize; }
 854 
 855   void set_tf(const TypeFunc* tf) { _tf = tf; }
 856   void set_entry_point(address p) { _entry_point = p; }
 857   void set_cnt(float c)           { _cnt = c; }
 858   void set_argsize(int s)         { _argsize = s; }
 859 
 860   MachCallNode() : MachSafePointNode() {
 861     init_class_id(Class_MachCall);
 862   }
 863 
 864   virtual const Type *bottom_type() const;
 865   virtual bool  pinned() const { return false; }
 866   virtual const Type* Value(PhaseGVN* phase) const;
 867   virtual const RegMask &in_RegMask(uint) const;
 868   virtual int ret_addr_offset() { return 0; }
 869 
 870   bool returns_long() const { return tf()->return_type() == T_LONG; }
 871   bool return_value_is_used() const;
 872 
 873   // Similar to cousin class CallNode::returns_pointer
 874   bool returns_pointer() const;
 875 
 876 #ifndef PRODUCT
 877   virtual void dump_spec(outputStream *st) const;
 878 #endif
 879 };
 880 
 881 //------------------------------MachCallJavaNode------------------------------
 882 // "Base" class for machine-specific versions of subroutine calls
 883 class MachCallJavaNode : public MachCallNode {
 884 protected:
 885   virtual uint cmp( const Node &n ) const;
 886   virtual uint size_of() const; // Size is bigger


< prev index next >