53 // Rbox : Must point to the displaced header location, contents destroyed.
54 // Z_R1_scratch : Used as temp and will be killed
55 void unlock_object(Register Rmark, Register Roop, Register Rbox, Label& slow_case);
56
57 void initialize_object(
58 Register obj, // result: Pointer to object after successful allocation.
59 Register klass, // object klass
60 Register var_size_in_bytes, // Object size in bytes if unknown at compile time; invalid otherwise.
61 int con_size_in_bytes, // Object size in bytes if known at compile time.
62 Register t1, // temp register
63 Register t2 // temp register
64 );
65
66 // Allocation of fixed-size objects.
67 // This can also be used to allocate fixed-size arrays, by setting
68 // hdr_size correctly and storing the array length afterwards.
69 void allocate_object(
70 Register obj, // result: Pointer to object after successful allocation.
71 Register t1, // temp register
72 Register t2, // temp register
73 int hdr_size, // object header size in words
74 int obj_size, // object size in words
75 Register klass, // object klass
76 Label& slow_case // Continuation point if fast allocation fails.
77 );
78
79 enum {
80 max_array_allocation_length = 0x01000000
81 };
82
83 // Allocation of arrays.
84 void allocate_array(
85 Register obj, // result: Pointer to array after successful allocation.
86 Register len, // array length
87 Register t1, // temp register
88 Register t2, // temp register
89 int hdr_size, // object header size in words
90 int elt_size, // element size in bytes
91 Register klass, // object klass
92 Label& slow_case // Continuation point if fast allocation fails.
93 );
|
53 // Rbox : Must point to the displaced header location, contents destroyed.
54 // Z_R1_scratch : Used as temp and will be killed
55 void unlock_object(Register Rmark, Register Roop, Register Rbox, Label& slow_case);
56
57 void initialize_object(
58 Register obj, // result: Pointer to object after successful allocation.
59 Register klass, // object klass
60 Register var_size_in_bytes, // Object size in bytes if unknown at compile time; invalid otherwise.
61 int con_size_in_bytes, // Object size in bytes if known at compile time.
62 Register t1, // temp register
63 Register t2 // temp register
64 );
65
66 // Allocation of fixed-size objects.
67 // This can also be used to allocate fixed-size arrays, by setting
68 // hdr_size correctly and storing the array length afterwards.
69 void allocate_object(
70 Register obj, // result: Pointer to object after successful allocation.
71 Register t1, // temp register
72 Register t2, // temp register
73 int base_offset_in_bytes, // elements offset in bytes
74 int obj_size, // object size in words
75 Register klass, // object klass
76 Label& slow_case // Continuation point if fast allocation fails.
77 );
78
79 enum {
80 max_array_allocation_length = 0x01000000
81 };
82
83 // Allocation of arrays.
84 void allocate_array(
85 Register obj, // result: Pointer to array after successful allocation.
86 Register len, // array length
87 Register t1, // temp register
88 Register t2, // temp register
89 int hdr_size, // object header size in words
90 int elt_size, // element size in bytes
91 Register klass, // object klass
92 Label& slow_case // Continuation point if fast allocation fails.
93 );
|