comparison src/cpu/x86/vm/stubGenerator_x86_32.cpp @ 8873:e961c11b85fe

8011102: Clear AVX registers after return from JNI call Summary: Execute vzeroupper instruction after JNI call and on exits in jit compiled code which use 256bit vectors. Reviewed-by: roland
author kvn
date Wed, 03 Apr 2013 11:12:57 -0700
parents e2e6bf86682c
children b9a918201d47 3f281b313240
comparison
equal deleted inserted replaced
8872:53028d751155 8873:e961c11b85fe
833 833
834 __ addl(from, 64); 834 __ addl(from, 64);
835 __ BIND(L_copy_64_bytes); 835 __ BIND(L_copy_64_bytes);
836 __ subl(qword_count, 8); 836 __ subl(qword_count, 8);
837 __ jcc(Assembler::greaterEqual, L_copy_64_bytes_loop); 837 __ jcc(Assembler::greaterEqual, L_copy_64_bytes_loop);
838
839 if (UseUnalignedLoadStores && (UseAVX >= 2)) {
840 // clean upper bits of YMM registers
841 __ vzeroupper();
842 }
838 __ addl(qword_count, 8); 843 __ addl(qword_count, 8);
839 __ jccb(Assembler::zero, L_exit); 844 __ jccb(Assembler::zero, L_exit);
840 // 845 //
841 // length is too short, just copy qwords 846 // length is too short, just copy qwords
842 // 847 //