src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp

changeset 2423
b1a2afa37ec4
parent 2344
ac637b7220d1
child 2447
5577848f5923
equal deleted inserted replaced
2420:039eb4201e06 2423:b1a2afa37ec4
164 164
165 void C1_MacroAssembler::try_allocate( 165 void C1_MacroAssembler::try_allocate(
166 Register obj, // result: pointer to object after successful allocation 166 Register obj, // result: pointer to object after successful allocation
167 Register var_size_in_bytes, // object size in bytes if unknown at compile time; invalid otherwise 167 Register var_size_in_bytes, // object size in bytes if unknown at compile time; invalid otherwise
168 int con_size_in_bytes, // object size in bytes if known at compile time 168 int con_size_in_bytes, // object size in bytes if known at compile time
169 Register t1, // temp register 169 Register t1, // temp register, must be global register for incr_allocated_bytes
170 Register t2, // temp register 170 Register t2, // temp register
171 Label& slow_case // continuation point if fast allocation fails 171 Label& slow_case // continuation point if fast allocation fails
172 ) { 172 ) {
173 if (UseTLAB) { 173 if (UseTLAB) {
174 tlab_allocate(obj, var_size_in_bytes, con_size_in_bytes, t1, slow_case); 174 tlab_allocate(obj, var_size_in_bytes, con_size_in_bytes, t1, slow_case);
175 } else { 175 } else {
176 eden_allocate(obj, var_size_in_bytes, con_size_in_bytes, t1, t2, slow_case); 176 eden_allocate(obj, var_size_in_bytes, con_size_in_bytes, t1, t2, slow_case);
177 incr_allocated_bytes(var_size_in_bytes, con_size_in_bytes, t1);
177 } 178 }
178 } 179 }
179 180
180 181
181 void C1_MacroAssembler::initialize_header(Register obj, Register klass, Register len, Register t1, Register t2) { 182 void C1_MacroAssembler::initialize_header(Register obj, Register klass, Register len, Register t1, Register t2) {
212 213
213 214
214 void C1_MacroAssembler::allocate_object( 215 void C1_MacroAssembler::allocate_object(
215 Register obj, // result: pointer to object after successful allocation 216 Register obj, // result: pointer to object after successful allocation
216 Register t1, // temp register 217 Register t1, // temp register
217 Register t2, // temp register 218 Register t2, // temp register, must be a global register for try_allocate
218 Register t3, // temp register 219 Register t3, // temp register
219 int hdr_size, // object header size in words 220 int hdr_size, // object header size in words
220 int obj_size, // object size in words 221 int obj_size, // object size in words
221 Register klass, // object klass 222 Register klass, // object klass
222 Label& slow_case // continuation point if fast allocation fails 223 Label& slow_case // continuation point if fast allocation fails

mercurial