hotspot/src/cpu/x86/vm/assembler_x86.cpp
changeset 21105 47618ee96ed5
parent 20295 a5dd1b071c32
child 23220 fc827339dc37
equal deleted inserted replaced
21104:03d26ba7c343 21105:47618ee96ed5
  1403     emit_int8((unsigned char)(0xC0 | encode));
  1403     emit_int8((unsigned char)(0xC0 | encode));
  1404     emit_int32(value);
  1404     emit_int32(value);
  1405   }
  1405   }
  1406 }
  1406 }
  1407 
  1407 
       
  1408 void Assembler::imull(Register dst, Address src) {
       
  1409   InstructionMark im(this);
       
  1410   prefix(src, dst);
       
  1411   emit_int8(0x0F);
       
  1412   emit_int8((unsigned char) 0xAF);
       
  1413   emit_operand(dst, src);
       
  1414 }
       
  1415 
       
  1416 
  1408 void Assembler::incl(Address dst) {
  1417 void Assembler::incl(Address dst) {
  1409   // Don't use it directly. Use MacroAssembler::increment() instead.
  1418   // Don't use it directly. Use MacroAssembler::increment() instead.
  1410   InstructionMark im(this);
  1419   InstructionMark im(this);
  1411   prefix(dst);
  1420   prefix(dst);
  1412   emit_int8((unsigned char)0xFF);
  1421   emit_int8((unsigned char)0xFF);
  5022     emit_int8((unsigned char)(0xC0 | encode));
  5031     emit_int8((unsigned char)(0xC0 | encode));
  5023     emit_int32(value);
  5032     emit_int32(value);
  5024   }
  5033   }
  5025 }
  5034 }
  5026 
  5035 
       
  5036 void Assembler::imulq(Register dst, Address src) {
       
  5037   InstructionMark im(this);
       
  5038   prefixq(src, dst);
       
  5039   emit_int8(0x0F);
       
  5040   emit_int8((unsigned char) 0xAF);
       
  5041   emit_operand(dst, src);
       
  5042 }
       
  5043 
  5027 void Assembler::incl(Register dst) {
  5044 void Assembler::incl(Register dst) {
  5028   // Don't use it directly. Use MacroAssembler::incrementl() instead.
  5045   // Don't use it directly. Use MacroAssembler::incrementl() instead.
  5029   // Use two-byte form (one-byte from is a REX prefix in 64-bit mode)
  5046   // Use two-byte form (one-byte from is a REX prefix in 64-bit mode)
  5030   int encode = prefix_and_encode(dst->encoding());
  5047   int encode = prefix_and_encode(dst->encoding());
  5031   emit_int8((unsigned char)0xFF);
  5048   emit_int8((unsigned char)0xFF);