hotspot/src/cpu/x86/vm/x86_64.ad
changeset 34162 16b54851eaf6
parent 33628 09241459a8b8
child 35071 a0910b1d3e0d
child 35086 bbf32241d851
equal deleted inserted replaced
34159:f401f5b4327e 34162:16b54851eaf6
   534 #define   RELOC_DISP32   Assembler::disp32_operand
   534 #define   RELOC_DISP32   Assembler::disp32_operand
   535 
   535 
   536 #define __ _masm.
   536 #define __ _masm.
   537 
   537 
   538 static int clear_avx_size() {
   538 static int clear_avx_size() {
   539   if(UseAVX > 2) {
   539   return (Compile::current()->max_vector_size() > 16) ? 3 : 0;  // vzeroupper
   540     return 0; // vzeroupper is ignored
       
   541   } else {
       
   542     return (Compile::current()->max_vector_size() > 16) ? 3 : 0;  // vzeroupper
       
   543   }
       
   544 }
   540 }
   545 
   541 
   546 // !!!!! Special hack to get all types of calls to specify the byte offset
   542 // !!!!! Special hack to get all types of calls to specify the byte offset
   547 //       from the start of the call to the point where the return address
   543 //       from the start of the call to the point where the return address
   548 //       will point.
   544 //       will point.
   869       st->print("\n\t");
   865       st->print("\n\t");
   870       st->print("movq    rbp, rsp\t# Save the caller's SP into rbp");
   866       st->print("movq    rbp, rsp\t# Save the caller's SP into rbp");
   871       if (framesize > 0) {
   867       if (framesize > 0) {
   872         st->print("\n\t");
   868         st->print("\n\t");
   873         st->print("addq    rbp, #%d", framesize);
   869         st->print("addq    rbp, #%d", framesize);
   874       }      
   870       }
   875     }
   871     }
   876   }
   872   }
   877 
   873 
   878   if (VerifyStackAtCalls) {
   874   if (VerifyStackAtCalls) {
   879     st->print("\n\t");
   875     st->print("\n\t");