comparison src/cpu/x86/vm/c1_CodeStubs_x86.cpp @ 2376:c7f3d0b4570f

7017732: move static fields into Class to prepare for perm gen removal Reviewed-by: kvn, coleenp, twisti, stefank
author never
date Fri, 18 Mar 2011 16:00:34 -0700
parents e4fee0bdaa85
children 32f7097f9d8f
comparison
equal deleted inserted replaced
2375:d673ef06fe96 2376:c7f3d0b4570f
311 if (CommentedAssembly) { 311 if (CommentedAssembly) {
312 __ block_comment(" being_initialized check"); 312 __ block_comment(" being_initialized check");
313 } 313 }
314 assert(_obj != noreg, "must be a valid register"); 314 assert(_obj != noreg, "must be a valid register");
315 Register tmp = rax; 315 Register tmp = rax;
316 if (_obj == tmp) tmp = rbx; 316 Register tmp2 = rbx;
317 __ push(tmp); 317 __ push(tmp);
318 __ push(tmp2);
319 __ movptr(tmp2, Address(_obj, java_lang_Class::klass_offset_in_bytes()));
318 __ get_thread(tmp); 320 __ get_thread(tmp);
319 __ cmpptr(tmp, Address(_obj, instanceKlass::init_thread_offset_in_bytes() + sizeof(klassOopDesc))); 321 __ cmpptr(tmp, Address(tmp2, instanceKlass::init_thread_offset_in_bytes() + sizeof(klassOopDesc)));
322 __ pop(tmp2);
320 __ pop(tmp); 323 __ pop(tmp);
321 __ jcc(Assembler::notEqual, call_patch); 324 __ jcc(Assembler::notEqual, call_patch);
322 325
323 // access_field patches may execute the patched code before it's 326 // access_field patches may execute the patched code before it's
324 // copied back into place so we need to jump back into the main 327 // copied back into place so we need to jump back into the main