hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
changeset 7700 3252c02e23b8
parent 7433 b418028612ad
child 7726 6a3d9023179a
child 7892 ff4948f95c49
equal deleted inserted replaced
7441:47ea904dba6a 7700:3252c02e23b8
  1882   void internal_sethi(const AddressLiteral& addrlit, Register d, bool ForceRelocatable);
  1882   void internal_sethi(const AddressLiteral& addrlit, Register d, bool ForceRelocatable);
  1883 public:
  1883 public:
  1884   void sethi(const AddressLiteral& addrlit, Register d);
  1884   void sethi(const AddressLiteral& addrlit, Register d);
  1885   void patchable_sethi(const AddressLiteral& addrlit, Register d);
  1885   void patchable_sethi(const AddressLiteral& addrlit, Register d);
  1886 
  1886 
  1887   // compute the size of a sethi/set
  1887   // compute the number of instructions for a sethi/set
  1888   static int  size_of_sethi( address a, bool worst_case = false );
  1888   static int  insts_for_sethi( address a, bool worst_case = false );
  1889   static int  worst_case_size_of_set();
  1889   static int  worst_case_insts_for_set();
  1890 
  1890 
  1891   // set may be either setsw or setuw (high 32 bits may be zero or sign)
  1891   // set may be either setsw or setuw (high 32 bits may be zero or sign)
  1892 private:
  1892 private:
  1893   void internal_set(const AddressLiteral& al, Register d, bool ForceRelocatable);
  1893   void internal_set(const AddressLiteral& al, Register d, bool ForceRelocatable);
       
  1894   static int insts_for_internal_set(intptr_t value);
  1894 public:
  1895 public:
  1895   void set(const AddressLiteral& addrlit, Register d);
  1896   void set(const AddressLiteral& addrlit, Register d);
  1896   void set(intptr_t value, Register d);
  1897   void set(intptr_t value, Register d);
  1897   void set(address addr, Register d, RelocationHolder const& rspec);
  1898   void set(address addr, Register d, RelocationHolder const& rspec);
       
  1899   static int insts_for_set(intptr_t value) { return insts_for_internal_set(value); }
       
  1900 
  1898   void patchable_set(const AddressLiteral& addrlit, Register d);
  1901   void patchable_set(const AddressLiteral& addrlit, Register d);
  1899   void patchable_set(intptr_t value, Register d);
  1902   void patchable_set(intptr_t value, Register d);
  1900   void set64(jlong value, Register d, Register tmp);
  1903   void set64(jlong value, Register d, Register tmp);
  1901 
  1904   static int insts_for_set64(jlong value);
  1902   // Compute size of set64.
       
  1903   static int size_of_set64(jlong value);
       
  1904 
  1905 
  1905   // sign-extend 32 to 64
  1906   // sign-extend 32 to 64
  1906   inline void signx( Register s, Register d ) { sra( s, G0, d); }
  1907   inline void signx( Register s, Register d ) { sra( s, G0, d); }
  1907   inline void signx( Register d )             { sra( d, G0, d); }
  1908   inline void signx( Register d )             { sra( d, G0, d); }
  1908 
  1909