< prev index next >

src/hotspot/cpu/s390/c1_MacroAssembler_s390.hpp

Print this page

 23  *
 24  */
 25 
 26 #ifndef CPU_S390_C1_MACROASSEMBLER_S390_HPP
 27 #define CPU_S390_C1_MACROASSEMBLER_S390_HPP
 28 
 29   void pd_init() { /* nothing to do */ }
 30 
 31  public:
 32   void try_allocate(
 33     Register obj,                      // result: Pointer to object after successful allocation.
 34     Register var_size_in_bytes,        // Object size in bytes if unknown at compile time; invalid otherwise.
 35     int      con_size_in_bytes,        // Object size in bytes if   known at compile time.
 36     Register t1,                       // temp register
 37     Label&   slow_case                 // Continuation point if fast allocation fails.
 38   );
 39 
 40   void initialize_header(Register obj, Register klass, Register len, Register Rzero, Register t1);
 41   void initialize_body(Register objectFields, Register len_in_bytes, Register Rzero);
 42 
 43   // locking
 44   // hdr     : Used to hold locked markWord to be CASed into obj, contents destroyed.
 45   // obj     : Must point to the object to lock, contents preserved.
 46   // disp_hdr: Must point to the displaced header location, contents preserved.
 47   // Returns code offset at which to add null check debug information.
 48   void lock_object(Register hdr, Register obj, Register disp_hdr, Label& slow_case);
 49 
 50   // unlocking
 51   // hdr     : Used to hold original markWord to be CASed back into obj, contents destroyed.
 52   // obj     : Must point to the object to lock, contents preserved.
 53   // disp_hdr: Must point to the displaced header location, contents destroyed.
 54   void unlock_object(Register hdr, Register obj, Register lock, Label& slow_case);
 55 
 56   void initialize_object(
 57     Register obj,                      // result: Pointer to object after successful allocation.
 58     Register klass,                    // object klass
 59     Register var_size_in_bytes,        // Object size in bytes if unknown at compile time; invalid otherwise.
 60     int      con_size_in_bytes,        // Object size in bytes if   known at compile time.
 61     Register t1,                       // temp register
 62     Register t2                        // temp register
 63   );
 64 
 65   // Allocation of fixed-size objects.
 66   // This can also be used to allocate fixed-size arrays, by setting
 67   // hdr_size correctly and storing the array length afterwards.
 68   void allocate_object(
 69     Register obj,                      // result: Pointer to object after successful allocation.
 70     Register t1,                       // temp register
 71     Register t2,                       // temp register
 72     int      hdr_size,                 // object header size in words
 73     int      obj_size,                 // object size in words
 74     Register klass,                    // object klass
 75     Label&   slow_case                 // Continuation point if fast allocation fails.

 23  *
 24  */
 25 
 26 #ifndef CPU_S390_C1_MACROASSEMBLER_S390_HPP
 27 #define CPU_S390_C1_MACROASSEMBLER_S390_HPP
 28 
 29   void pd_init() { /* nothing to do */ }
 30 
 31  public:
 32   void try_allocate(
 33     Register obj,                      // result: Pointer to object after successful allocation.
 34     Register var_size_in_bytes,        // Object size in bytes if unknown at compile time; invalid otherwise.
 35     int      con_size_in_bytes,        // Object size in bytes if   known at compile time.
 36     Register t1,                       // temp register
 37     Label&   slow_case                 // Continuation point if fast allocation fails.
 38   );
 39 
 40   void initialize_header(Register obj, Register klass, Register len, Register Rzero, Register t1);
 41   void initialize_body(Register objectFields, Register len_in_bytes, Register Rzero);
 42 













 43   void initialize_object(
 44     Register obj,                      // result: Pointer to object after successful allocation.
 45     Register klass,                    // object klass
 46     Register var_size_in_bytes,        // Object size in bytes if unknown at compile time; invalid otherwise.
 47     int      con_size_in_bytes,        // Object size in bytes if   known at compile time.
 48     Register t1,                       // temp register
 49     Register t2                        // temp register
 50   );
 51 
 52   // Allocation of fixed-size objects.
 53   // This can also be used to allocate fixed-size arrays, by setting
 54   // hdr_size correctly and storing the array length afterwards.
 55   void allocate_object(
 56     Register obj,                      // result: Pointer to object after successful allocation.
 57     Register t1,                       // temp register
 58     Register t2,                       // temp register
 59     int      hdr_size,                 // object header size in words
 60     int      obj_size,                 // object size in words
 61     Register klass,                    // object klass
 62     Label&   slow_case                 // Continuation point if fast allocation fails.
< prev index next >