Mercurial > hg > graal-jvmci-8
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); |