comparison src/cpu/sparc/vm/sharedRuntime_sparc.cpp @ 22638:c7ce66399b04

[SPARC] use ld/st_ptr for store JavaThread::jvmci_alternate_call_target
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Wed, 30 Sep 2015 11:41:40 +0200
parents 02fc27dc1da7
children 3c1edc9c60d8
comparison
equal deleted inserted replaced
22637:28b99a7a37d0 22638:c7ce66399b04
991 991
992 // Jump to the compiled code just as if compiled code was doing it. 992 // Jump to the compiled code just as if compiled code was doing it.
993 __ ld_ptr(G5_method, in_bytes(Method::from_compiled_offset()), G3); 993 __ ld_ptr(G5_method, in_bytes(Method::from_compiled_offset()), G3);
994 #if INCLUDE_JVMCI 994 #if INCLUDE_JVMCI
995 // check if this call should be routed towards a specific entry point 995 // check if this call should be routed towards a specific entry point
996 __ ld(Address(G2_thread, in_bytes(JavaThread::jvmci_alternate_call_target_offset())), G1); 996 __ ld_ptr(Address(G2_thread, in_bytes(JavaThread::jvmci_alternate_call_target_offset())), G1);
997 __ cmp(G0, G1); 997 __ cmp(G0, G1);
998 Label no_alternative_target; 998 Label no_alternative_target;
999 __ br(Assembler::equal, false, Assembler::pn, no_alternative_target); 999 __ br(Assembler::equal, false, Assembler::pn, no_alternative_target);
1000 __ delayed()->nop(); 1000 __ delayed()->nop();
1001 1001
1002 __ ld_ptr(G2_thread, in_bytes(JavaThread::jvmci_alternate_call_target_offset()), G3); 1002 __ ld_ptr(G2_thread, in_bytes(JavaThread::jvmci_alternate_call_target_offset()), G3);
1003 __ st(G0, Address(G2_thread, in_bytes(JavaThread::jvmci_alternate_call_target_offset()))); 1003 __ st_ptr(G0, Address(G2_thread, in_bytes(JavaThread::jvmci_alternate_call_target_offset())));
1004 1004
1005 __ bind(no_alternative_target); 1005 __ bind(no_alternative_target);
1006 #endif 1006 #endif
1007 1007
1008 // 6243940 We might end up in handle_wrong_method if 1008 // 6243940 We might end up in handle_wrong_method if