comparison src/cpu/x86/vm/sharedRuntime_x86_64.cpp @ 8883:b9a918201d47

Merge with hsx25
author Gilles Duboscq <duboscq@ssw.jku.at>
date Sat, 06 Apr 2013 20:04:06 +0200
parents 25691fcb505a e961c11b85fe
children ff5a32117e02 6c33b2076d7c
comparison
equal deleted inserted replaced
8660:d47b52b0ff68 8883:b9a918201d47
2324 // Now set thread in native 2324 // Now set thread in native
2325 __ movl(Address(r15_thread, JavaThread::thread_state_offset()), _thread_in_native); 2325 __ movl(Address(r15_thread, JavaThread::thread_state_offset()), _thread_in_native);
2326 2326
2327 __ call(RuntimeAddress(native_func)); 2327 __ call(RuntimeAddress(native_func));
2328 2328
2329 // Either restore the MXCSR register after returning from the JNI Call 2329 // Verify or restore cpu control state after JNI call
2330 // or verify that it wasn't changed. 2330 __ restore_cpu_control_state_after_jni();
2331 if (RestoreMXCSROnJNICalls) {
2332 __ ldmxcsr(ExternalAddress(StubRoutines::x86::mxcsr_std()));
2333
2334 }
2335 else if (CheckJNICalls ) {
2336 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::x86::verify_mxcsr_entry())));
2337 }
2338
2339 2331
2340 // Unpack native results. 2332 // Unpack native results.
2341 switch (ret_type) { 2333 switch (ret_type) {
2342 case T_BOOLEAN: __ c2bool(rax); break; 2334 case T_BOOLEAN: __ c2bool(rax); break;
2343 case T_CHAR : __ movzwl(rax, rax); break; 2335 case T_CHAR : __ movzwl(rax, rax); break;