< prev index next >
src/cpu/x86/vm/sharedRuntime_x86_32.cpp
Print this page
*** 115,127 ****
OopMap* RegisterSaver::save_live_registers(MacroAssembler* masm, int additional_frame_words,
int* total_frame_words, bool verify_fpu, bool save_vectors) {
int vect_words = 0;
#ifdef COMPILER2
if (save_vectors) {
! assert(UseAVX > 0, "256bit vectors are supported only with AVX");
! assert(MaxVectorSize == 32, "only 256bit vectors are supported now");
! // Save upper half of YMM registes
vect_words = 8 * 16 / wordSize;
additional_frame_words += vect_words;
}
#else
assert(!save_vectors, "vectors are generated only by C2");
--- 115,127 ----
OopMap* RegisterSaver::save_live_registers(MacroAssembler* masm, int additional_frame_words,
int* total_frame_words, bool verify_fpu, bool save_vectors) {
int vect_words = 0;
#ifdef COMPILER2
if (save_vectors) {
! assert(UseAVX > 0, "512bit vectors are supported only with EVEX");
! assert(MaxVectorSize == 64, "only 512bit vectors are supported now");
! // Save upper half of ZMM/YMM registers : TODO: add support for ZMM save
vect_words = 8 * 16 / wordSize;
additional_frame_words += vect_words;
}
#else
assert(!save_vectors, "vectors are generated only by C2");
*** 281,292 ****
void RegisterSaver::restore_live_registers(MacroAssembler* masm, bool restore_vectors) {
// Recover XMM & FPU state
int additional_frame_bytes = 0;
#ifdef COMPILER2
if (restore_vectors) {
! assert(UseAVX > 0, "256bit vectors are supported only with AVX");
! assert(MaxVectorSize == 32, "only 256bit vectors are supported now");
additional_frame_bytes = 128;
}
#else
assert(!restore_vectors, "vectors are generated only by C2");
#endif
--- 281,293 ----
void RegisterSaver::restore_live_registers(MacroAssembler* masm, bool restore_vectors) {
// Recover XMM & FPU state
int additional_frame_bytes = 0;
#ifdef COMPILER2
if (restore_vectors) {
! assert(UseAVX > 0, "512bit vectors are supported only with EVEX");
! assert(MaxVectorSize == 64, "only 512bit vectors are supported now");
! // TODO: add frame support for additional_frame_bytes = 256
additional_frame_bytes = 128;
}
#else
assert(!restore_vectors, "vectors are generated only by C2");
#endif
< prev index next >