< prev index next >

src/cpu/x86/vm/x86_64.ad

Print this page

        

@@ -1046,43 +1046,43 @@
   return rc_float;
 }
 
 // Next two methods are shared by 32- and 64-bit VM. They are defined in x86.ad.
 static int vec_mov_helper(CodeBuffer *cbuf, bool do_size, int src_lo, int dst_lo,
-                          int src_hi, int dst_hi, uint ireg, outputStream* st);
+                          int src_hi, int dst_hi, Opcodes ireg, outputStream* st);
 
 static int vec_spill_helper(CodeBuffer *cbuf, bool do_size, bool is_load,
-                            int stack_offset, int reg, uint ireg, outputStream* st);
+                            int stack_offset, int reg, Opcodes ireg, outputStream* st);
 
 static void vec_stack_to_stack_helper(CodeBuffer *cbuf, int src_offset,
-                                      int dst_offset, uint ireg, outputStream* st) {
+                                      int dst_offset, Opcodes ireg, outputStream* st) {
   if (cbuf) {
     MacroAssembler _masm(cbuf);
     switch (ireg) {
-    case Op_VecS:
+    case Opcodes::Op_VecS:
       __ movq(Address(rsp, -8), rax);
       __ movl(rax, Address(rsp, src_offset));
       __ movl(Address(rsp, dst_offset), rax);
       __ movq(rax, Address(rsp, -8));
       break;
-    case Op_VecD:
+    case Opcodes::Op_VecD:
       __ pushq(Address(rsp, src_offset));
       __ popq (Address(rsp, dst_offset));
       break;
-    case Op_VecX:
+    case Opcodes::Op_VecX:
       __ pushq(Address(rsp, src_offset));
       __ popq (Address(rsp, dst_offset));
       __ pushq(Address(rsp, src_offset+8));
       __ popq (Address(rsp, dst_offset+8));
       break;
-    case Op_VecY:
+    case Opcodes::Op_VecY:
       __ vmovdqu(Address(rsp, -32), xmm0);
       __ vmovdqu(xmm0, Address(rsp, src_offset));
       __ vmovdqu(Address(rsp, dst_offset), xmm0);
       __ vmovdqu(xmm0, Address(rsp, -32));
       break;
-    case Op_VecZ:
+    case Opcodes::Op_VecZ:
       __ evmovdquq(Address(rsp, -64), xmm0, 2);
       __ evmovdquq(xmm0, Address(rsp, src_offset), 2);
       __ evmovdquq(Address(rsp, dst_offset), xmm0, 2);
       __ evmovdquq(xmm0, Address(rsp, -64), 2);
       break;

@@ -1090,37 +1090,37 @@
       ShouldNotReachHere();
     }
 #ifndef PRODUCT
   } else {
     switch (ireg) {
-    case Op_VecS:
+    case Opcodes::Op_VecS:
       st->print("movq    [rsp - #8], rax\t# 32-bit mem-mem spill\n\t"
                 "movl    rax, [rsp + #%d]\n\t"
                 "movl    [rsp + #%d], rax\n\t"
                 "movq    rax, [rsp - #8]",
                 src_offset, dst_offset);
       break;
-    case Op_VecD:
+    case Opcodes::Op_VecD:
       st->print("pushq   [rsp + #%d]\t# 64-bit mem-mem spill\n\t"
                 "popq    [rsp + #%d]",
                 src_offset, dst_offset);
       break;
-     case Op_VecX:
+     case Opcodes::Op_VecX:
       st->print("pushq   [rsp + #%d]\t# 128-bit mem-mem spill\n\t"
                 "popq    [rsp + #%d]\n\t"
                 "pushq   [rsp + #%d]\n\t"
                 "popq    [rsp + #%d]",
                 src_offset, dst_offset, src_offset+8, dst_offset+8);
       break;
-    case Op_VecY:
+    case Opcodes::Op_VecY:
       st->print("vmovdqu [rsp - #32], xmm0\t# 256-bit mem-mem spill\n\t"
                 "vmovdqu xmm0, [rsp + #%d]\n\t"
                 "vmovdqu [rsp + #%d], xmm0\n\t"
                 "vmovdqu xmm0, [rsp - #32]",
                 src_offset, dst_offset);
       break;
-    case Op_VecZ:
+    case Opcodes::Op_VecZ:
       st->print("vmovdqu [rsp - #64], xmm0\t# 512-bit mem-mem spill\n\t"
                 "vmovdqu xmm0, [rsp + #%d]\n\t"
                 "vmovdqu [rsp + #%d], xmm0\n\t"
                 "vmovdqu xmm0, [rsp - #64]",
                 src_offset, dst_offset);

@@ -1154,13 +1154,13 @@
   if (src_first == dst_first && src_second == dst_second) {
     // Self copy, no move
     return 0;
   }
   if (bottom_type()->isa_vect() != NULL) {
-    uint ireg = ideal_reg();
+    Opcodes ireg = ideal_reg();
     assert((src_first_rc != rc_int && dst_first_rc != rc_int), "sanity");
-    assert((ireg == Op_VecS || ireg == Op_VecD || ireg == Op_VecX || ireg == Op_VecY || ireg == Op_VecZ ), "sanity");
+    assert((ireg == Opcodes::Op_VecS || ireg == Opcodes::Op_VecD || ireg == Opcodes::Op_VecX || ireg == Opcodes::Op_VecY || ireg == Opcodes::Op_VecZ ), "sanity");
     if( src_first_rc == rc_stack && dst_first_rc == rc_stack ) {
       // mem -> mem
       int src_offset = ra_->reg2offset(src_first);
       int dst_offset = ra_->reg2offset(dst_first);
       vec_stack_to_stack_helper(cbuf, src_offset, dst_offset, ireg, st);

@@ -2818,36 +2818,36 @@
   %}
 
   // Location of compiled Java return values.  Same as C for now.
   return_value
   %{
-    assert(ideal_reg >= Op_RegI && ideal_reg <= Op_RegL,
+    assert(ideal_reg >= Opcodes::Op_RegI && ideal_reg <= Opcodes::Op_RegL,
            "only return normal values");
 
-    static const int lo[Op_RegL + 1] = {
+    static const int lo[static_cast<uint>(Opcodes::Op_RegL) + 1] = {
       0,
       0,
       RAX_num,  // Op_RegN
       RAX_num,  // Op_RegI
       RAX_num,  // Op_RegP
       XMM0_num, // Op_RegF
       XMM0_num, // Op_RegD
       RAX_num   // Op_RegL
     };
-    static const int hi[Op_RegL + 1] = {
+    static const int hi[static_cast<uint>(Opcodes::Op_RegL) + 1] = {
       0,
       0,
       OptoReg::Bad, // Op_RegN
       OptoReg::Bad, // Op_RegI
       RAX_H_num,    // Op_RegP
       OptoReg::Bad, // Op_RegF
       XMM0b_num,    // Op_RegD
       RAX_H_num     // Op_RegL
     };
     // Excluded flags and vector registers.
-    assert(ARRAY_SIZE(hi) == _last_machine_leaf - 6, "missing type");
-    return OptoRegPair(hi[ideal_reg], lo[ideal_reg]);
+    assert(ARRAY_SIZE(hi) == static_cast<uint>(Opcodes::_last_machine_leaf) - 6, "missing type");
+    return OptoRegPair(hi[static_cast<uint>(ideal_reg)], lo[static_cast<uint>(ideal_reg)]);
   %}
 %}
 
 //----------ATTRIBUTES---------------------------------------------------------
 //----------Operand Attributes-------------------------------------------------
< prev index next >