< prev index next >

src/hotspot/cpu/s390/c1_MacroAssembler_s390.hpp

Print this page




  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




  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 markOop 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 markOop 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


< prev index next >