comparison src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp @ 3839:3d42f82cd811

7063628: Use cbcond on T4 Summary: Add new short branch instruction to Hotspot sparc assembler. Reviewed-by: never, twisti, jrose
author kvn
date Thu, 21 Jul 2011 11:25:07 -0700
parents 527b586edf24
children 4fe626cbf0bf
comparison
equal deleted inserted replaced
3838:6a991dcb52bb 3839:3d42f82cd811
301 // thread. 301 // thread.
302 assert(_obj != noreg, "must be a valid register"); 302 assert(_obj != noreg, "must be a valid register");
303 assert(_oop_index >= 0, "must have oop index"); 303 assert(_oop_index >= 0, "must have oop index");
304 __ load_heap_oop(_obj, java_lang_Class::klass_offset_in_bytes(), G3); 304 __ load_heap_oop(_obj, java_lang_Class::klass_offset_in_bytes(), G3);
305 __ ld_ptr(G3, instanceKlass::init_thread_offset_in_bytes() + sizeof(klassOopDesc), G3); 305 __ ld_ptr(G3, instanceKlass::init_thread_offset_in_bytes() + sizeof(klassOopDesc), G3);
306 __ cmp(G2_thread, G3); 306 __ cmp_and_brx_short(G2_thread, G3, Assembler::notEqual, Assembler::pn, call_patch);
307 __ br(Assembler::notEqual, false, Assembler::pn, call_patch);
308 __ delayed()->nop();
309 307
310 // load_klass patches may execute the patched code before it's 308 // load_klass patches may execute the patched code before it's
311 // copied back into place so we need to jump back into the main 309 // copied back into place so we need to jump back into the main
312 // code of the nmethod to continue execution. 310 // code of the nmethod to continue execution.
313 __ br(Assembler::always, false, Assembler::pt, _patch_site_continuation); 311 __ br(Assembler::always, false, Assembler::pt, _patch_site_continuation);