Mercurial > hg > truffle
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; |