Mercurial > hg > graal-compiler
diff graal/com.oracle.max.asm/src/com/oracle/max/asm/target/amd64/AMD64Assembler.java @ 5547:b6617d13ea44
Dropping Ci* prefixes. Some additional renamings in the api.code interface.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Sat, 09 Jun 2012 20:10:05 +0200 |
parents | a891c53a295b |
children | 69a8969dbf40 |
line wrap: on
line diff
--- a/graal/com.oracle.max.asm/src/com/oracle/max/asm/target/amd64/AMD64Assembler.java Sat Jun 09 18:01:23 2012 +0200 +++ b/graal/com.oracle.max.asm/src/com/oracle/max/asm/target/amd64/AMD64Assembler.java Sat Jun 09 20:10:05 2012 +0200 @@ -22,7 +22,7 @@ */ package com.oracle.max.asm.target.amd64; -import static com.oracle.graal.api.code.CiValueUtil.*; +import static com.oracle.graal.api.code.ValueUtil.*; import static com.oracle.max.asm.NumUtil.*; import static com.oracle.max.asm.target.amd64.AMD64.*; import static com.oracle.max.cri.util.MemoryBarriers.*; @@ -125,28 +125,28 @@ } /** - * The register to which {@link CiRegister#Frame} and {@link CiRegister#CallerFrame} are bound. + * The register to which {@link Register#Frame} and {@link Register#CallerFrame} are bound. */ - public final CiRegister frameRegister; + public final Register frameRegister; /** * Constructs an assembler for the AMD64 architecture. * - * @param registerConfig the register configuration used to bind {@link CiRegister#Frame} and - * {@link CiRegister#CallerFrame} to physical registers. This value can be null if this assembler + * @param registerConfig the register configuration used to bind {@link Register#Frame} and + * {@link Register#CallerFrame} to physical registers. This value can be null if this assembler * instance will not be used to assemble instructions using these logical registers. */ - public AMD64Assembler(CiTarget target, CiRegisterConfig registerConfig) { + public AMD64Assembler(TargetDescription target, RegisterConfig registerConfig) { super(target); this.frameRegister = registerConfig == null ? null : registerConfig.getFrameRegister(); } - private static int encode(CiRegister r) { + private static int encode(Register r) { assert r.encoding < 16 && r.encoding >= 0 : "encoding out of range: " + r.encoding; return r.encoding & 0x7; } - private void emitArithB(int op1, int op2, CiRegister dst, int imm8) { + private void emitArithB(int op1, int op2, Register dst, int imm8) { assert dst.isByte() : "must have byte register"; assert isUByte(op1) && isUByte(op2) : "wrong opcode"; assert isUByte(imm8) : "not a byte"; @@ -156,7 +156,7 @@ emitByte(imm8); } - private void emitArith(int op1, int op2, CiRegister dst, int imm32) { + private void emitArith(int op1, int op2, Register dst, int imm32) { assert isUByte(op1) && isUByte(op2) : "wrong opcode"; assert (op1 & 0x01) == 1 : "should be 32bit operation"; assert (op1 & 0x02) == 0 : "sign-extension bit should not be set"; @@ -172,7 +172,7 @@ } // immediate-to-memory forms - private void emitArithOperand(int op1, CiRegister rm, CiAddress adr, int imm32) { + private void emitArithOperand(int op1, Register rm, Address adr, int imm32) { assert (op1 & 0x01) == 1 : "should be 32bit operation"; assert (op1 & 0x02) == 0 : "sign-extension bit should not be set"; if (isByte(imm32)) { @@ -186,21 +186,21 @@ } } - private void emitArith(int op1, int op2, CiRegister dst, CiRegister src) { + private void emitArith(int op1, int op2, Register dst, Register src) { assert isUByte(op1) && isUByte(op2) : "wrong opcode"; emitByte(op1); emitByte(op2 | encode(dst) << 3 | encode(src)); } - private void emitOperandHelper(CiRegister reg, CiAddress addr) { - CiRegister base = isLegal(addr.base) ? asRegister(addr.base) : CiRegister.None; - CiRegister index = isLegal(addr.index) ? asRegister(addr.index) : CiRegister.None; - - CiAddress.Scale scale = addr.scale; + private void emitOperandHelper(Register reg, Address addr) { + Register base = isLegal(addr.base) ? asRegister(addr.base) : Register.None; + Register index = isLegal(addr.index) ? asRegister(addr.index) : Register.None; + + Address.Scale scale = addr.scale; int disp = addr.displacement; - if (base == CiRegister.Frame) { - assert frameRegister != null : "cannot use register " + CiRegister.Frame + " in assembler with null register configuration"; + if (base == Register.Frame) { + assert frameRegister != null : "cannot use register " + Register.Frame + " in assembler with null register configuration"; base = frameRegister; // } else if (base == CiRegister.CallerFrame) { // assert frameRegister != null : "cannot use register " + CiRegister.Frame + " in assembler with null register configuration"; @@ -210,14 +210,14 @@ // Encode the registers as needed in the fields they are used in - assert reg != CiRegister.None; + assert reg != Register.None; int regenc = encode(reg) << 3; if (base == AMD64.rip) { // [00 000 101] disp32 emitByte(0x05 | regenc); emitInt(disp); - } else if (addr == CiAddress.Placeholder) { + } else if (addr == Address.Placeholder) { // [00 000 101] disp32 emitByte(0x05 | regenc); emitInt(0); @@ -306,29 +306,29 @@ } } - public final void addl(CiAddress dst, int imm32) { + public final void addl(Address dst, int imm32) { prefix(dst); emitArithOperand(0x81, rax, dst, imm32); } - public final void addl(CiAddress dst, CiRegister src) { + public final void addl(Address dst, Register src) { prefix(dst, src); emitByte(0x01); emitOperandHelper(src, dst); } - public final void addl(CiRegister dst, int imm32) { + public final void addl(Register dst, int imm32) { prefix(dst); emitArith(0x81, 0xC0, dst, imm32); } - public final void addl(CiRegister dst, CiAddress src) { + public final void addl(Register dst, Address src) { prefix(src, dst); emitByte(0x03); emitOperandHelper(dst, src); } - public final void addl(CiRegister dst, CiRegister src) { + public final void addl(Register dst, Register src) { prefixAndEncode(dst.encoding, src.encoding); emitArith(0x03, 0xC0, dst, src); } @@ -367,7 +367,7 @@ emitInt(0); // 32-bits offset (4 bytes) } - public final void addsd(CiRegister dst, CiRegister src) { + public final void addsd(Register dst, Register src) { assert dst.isFpu() && src.isFpu(); emitByte(0xF2); int encode = prefixAndEncode(dst.encoding, src.encoding); @@ -376,7 +376,7 @@ emitByte(0xC0 | encode); } - public final void addsd(CiRegister dst, CiAddress src) { + public final void addsd(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF2); prefix(src, dst); @@ -385,7 +385,7 @@ emitOperandHelper(dst, src); } - public final void addss(CiRegister dst, CiRegister src) { + public final void addss(Register dst, Register src) { assert dst.isFpu() && src.isFpu(); emitByte(0xF3); int encode = prefixAndEncode(dst.encoding, src.encoding); @@ -394,7 +394,7 @@ emitByte(0xC0 | encode); } - public final void addss(CiRegister dst, CiAddress src) { + public final void addss(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF3); prefix(src, dst); @@ -403,36 +403,36 @@ emitOperandHelper(dst, src); } - public final void andl(CiRegister dst, int imm32) { + public final void andl(Register dst, int imm32) { prefix(dst); emitArith(0x81, 0xE0, dst, imm32); } - public final void andl(CiRegister dst, CiAddress src) { + public final void andl(Register dst, Address src) { prefix(src, dst); emitByte(0x23); emitOperandHelper(dst, src); } - public final void andl(CiRegister dst, CiRegister src) { + public final void andl(Register dst, Register src) { prefixAndEncode(dst.encoding, src.encoding); emitArith(0x23, 0xC0, dst, src); } - public final void bsfq(CiRegister dst, CiRegister src) { + public final void bsfq(Register dst, Register src) { int encode = prefixqAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0xBC); emitByte(0xC0 | encode); } - public final void bsfq(CiRegister dst, CiAddress src) { + public final void bsfq(Register dst, Address src) { prefixq(src, dst); emitByte(0xBC); emitOperandHelper(dst, src); } - public final void bsrq(CiRegister dst, CiRegister src) { + public final void bsrq(Register dst, Register src) { int encode = prefixqAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0xBD); @@ -440,19 +440,19 @@ } - public final void bsrq(CiRegister dst, CiAddress src) { + public final void bsrq(Register dst, Address src) { prefixq(src, dst); emitByte(0xBD); emitOperandHelper(dst, src); } - public final void bswapl(CiRegister reg) { // bswap + public final void bswapl(Register reg) { // bswap int encode = prefixAndEncode(reg.encoding); emitByte(0x0F); emitByte(0xC8 | encode); } - public final void btli(CiAddress src, int imm8) { + public final void btli(Address src, int imm8) { prefixq(src); emitByte(0x0F); emitByte(0xBA); @@ -464,45 +464,45 @@ emitByte(0x99); } - public final void cmovl(ConditionFlag cc, CiRegister dst, CiRegister src) { + public final void cmovl(ConditionFlag cc, Register dst, Register src) { int encode = prefixAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0x40 | cc.value); emitByte(0xC0 | encode); } - public final void cmovl(ConditionFlag cc, CiRegister dst, CiAddress src) { + public final void cmovl(ConditionFlag cc, Register dst, Address src) { prefix(src, dst); emitByte(0x0F); emitByte(0x40 | cc.value); emitOperandHelper(dst, src); } - public final void cmpb(CiAddress dst, int imm8) { + public final void cmpb(Address dst, int imm8) { prefix(dst); emitByte(0x80); emitOperandHelper(rdi, dst); emitByte(imm8); } - public final void cmpl(CiAddress dst, int imm32) { + public final void cmpl(Address dst, int imm32) { prefix(dst); emitByte(0x81); emitOperandHelper(rdi, dst); emitInt(imm32); } - public final void cmpl(CiRegister dst, int imm32) { + public final void cmpl(Register dst, int imm32) { prefix(dst); emitArith(0x81, 0xF8, dst, imm32); } - public final void cmpl(CiRegister dst, CiRegister src) { + public final void cmpl(Register dst, Register src) { prefixAndEncode(dst.encoding, src.encoding); emitArith(0x3B, 0xC0, dst, src); } - public final void cmpl(CiRegister dst, CiAddress src) { + public final void cmpl(Register dst, Address src) { prefix(src, dst); emitByte(0x3B); emitOperandHelper(dst, src); @@ -511,7 +511,7 @@ // The 32-bit cmpxchg compares the value at adr with the contents of X86.rax, // and stores reg into adr if so; otherwise, the value at adr is loaded into X86.rax,. // The ZF is set if the compared values were equal, and cleared otherwise. - public final void cmpxchgl(CiRegister reg, CiAddress adr) { // cmpxchg + public final void cmpxchgl(Register reg, Address adr) { // cmpxchg if ((AsmOptions.Atomics & 2) != 0) { // caveat: no instructionmark, so this isn't relocatable. // Emit a synthetic, non-atomic, CAS equivalent. @@ -534,7 +534,7 @@ } } - public final void comisd(CiRegister dst, CiAddress src) { + public final void comisd(Register dst, Address src) { assert dst.isFpu(); // NOTE: dbx seems to decode this as comiss even though the // 0x66 is there. Strangly ucomisd comes out correct @@ -542,7 +542,7 @@ comiss(dst, src); } - public final void comiss(CiRegister dst, CiAddress src) { + public final void comiss(Register dst, Address src) { assert dst.isFpu(); prefix(src, dst); @@ -551,7 +551,7 @@ emitOperandHelper(dst, src); } - public final void cvtdq2pd(CiRegister dst, CiRegister src) { + public final void cvtdq2pd(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); @@ -562,7 +562,7 @@ emitByte(0xC0 | encode); } - public final void cvtdq2ps(CiRegister dst, CiRegister src) { + public final void cvtdq2ps(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); int encode = prefixAndEncode(dst.encoding, src.encoding); @@ -571,7 +571,7 @@ emitByte(0xC0 | encode); } - public final void cvtsd2ss(CiRegister dst, CiRegister src) { + public final void cvtsd2ss(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); emitByte(0xF2); @@ -581,7 +581,7 @@ emitByte(0xC0 | encode); } - public final void cvtsi2sdl(CiRegister dst, CiRegister src) { + public final void cvtsi2sdl(Register dst, Register src) { assert dst.isFpu(); emitByte(0xF2); int encode = prefixAndEncode(dst.encoding, src.encoding); @@ -590,7 +590,7 @@ emitByte(0xC0 | encode); } - public final void cvtsi2ssl(CiRegister dst, CiRegister src) { + public final void cvtsi2ssl(Register dst, Register src) { assert dst.isFpu(); emitByte(0xF3); int encode = prefixAndEncode(dst.encoding, src.encoding); @@ -599,7 +599,7 @@ emitByte(0xC0 | encode); } - public final void cvtss2sd(CiRegister dst, CiRegister src) { + public final void cvtss2sd(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); emitByte(0xF3); @@ -609,7 +609,7 @@ emitByte(0xC0 | encode); } - public final void cvttsd2sil(CiRegister dst, CiRegister src) { + public final void cvttsd2sil(Register dst, Register src) { assert src.isFpu(); emitByte(0xF2); int encode = prefixAndEncode(dst.encoding, src.encoding); @@ -618,7 +618,7 @@ emitByte(0xC0 | encode); } - public final void cvttss2sil(CiRegister dst, CiRegister src) { + public final void cvttss2sil(Register dst, Register src) { assert src.isFpu(); emitByte(0xF3); int encode = prefixAndEncode(dst.encoding, src.encoding); @@ -627,14 +627,14 @@ emitByte(0xC0 | encode); } - public final void decl(CiAddress dst) { + public final void decl(Address dst) { // Don't use it directly. Use Macrodecrement() instead. prefix(dst); emitByte(0xFF); emitOperandHelper(rcx, dst); } - public final void divsd(CiRegister dst, CiAddress src) { + public final void divsd(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF2); prefix(src, dst); @@ -643,7 +643,7 @@ emitOperandHelper(dst, src); } - public final void divsd(CiRegister dst, CiRegister src) { + public final void divsd(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); emitByte(0xF2); @@ -653,7 +653,7 @@ emitByte(0xC0 | encode); } - public final void divss(CiRegister dst, CiAddress src) { + public final void divss(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF3); prefix(src, dst); @@ -662,7 +662,7 @@ emitOperandHelper(dst, src); } - public final void divss(CiRegister dst, CiRegister src) { + public final void divss(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); emitByte(0xF3); @@ -676,26 +676,26 @@ emitByte(0xF4); } - public final void idivl(CiRegister src) { + public final void idivl(Register src) { int encode = prefixAndEncode(src.encoding); emitByte(0xF7); emitByte(0xF8 | encode); } - public final void divl(CiRegister src) { + public final void divl(Register src) { int encode = prefixAndEncode(src.encoding); emitByte(0xF7); emitByte(0xF0 | encode); } - public final void imull(CiRegister dst, CiRegister src) { + public final void imull(Register dst, Register src) { int encode = prefixAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0xAF); emitByte(0xC0 | encode); } - public final void imull(CiRegister dst, CiRegister src, int value) { + public final void imull(Register dst, Register src, int value) { int encode = prefixAndEncode(dst.encoding, src.encoding); if (isByte(value)) { emitByte(0x6B); @@ -708,7 +708,7 @@ } } - public final void incl(CiAddress dst) { + public final void incl(Address dst) { // Don't use it directly. Use Macroincrement() instead. prefix(dst); emitByte(0xFF); @@ -766,7 +766,7 @@ } } - public final void jmp(CiAddress adr) { + public final void jmp(Address adr) { prefix(adr); emitByte(0xFF); emitOperandHelper(rsp, adr); @@ -801,7 +801,7 @@ } } - public final void jmp(CiRegister entry) { + public final void jmp(Register entry) { int encode = prefixAndEncode(entry.encoding); emitByte(0xFF); emitByte(0xE0 | encode); @@ -823,7 +823,7 @@ } } - public final void leaq(CiRegister dst, CiAddress src) { + public final void leaq(Register dst, Address src) { prefixq(src, dst); emitByte(0x8D); emitOperandHelper(dst, src); @@ -855,11 +855,11 @@ emitByte(0xF0); } - public final void mov(CiRegister dst, CiRegister src) { + public final void mov(Register dst, Register src) { movq(dst, src); } - public final void movapd(CiRegister dst, CiRegister src) { + public final void movapd(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); int dstenc = dst.encoding; @@ -884,7 +884,7 @@ emitByte(0xC0 | dstenc << 3 | srcenc); } - public final void movaps(CiRegister dst, CiRegister src) { + public final void movaps(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); int dstenc = dst.encoding; @@ -908,27 +908,27 @@ emitByte(0xC0 | dstenc << 3 | srcenc); } - public final void movb(CiRegister dst, CiAddress src) { + public final void movb(Register dst, Address src) { prefix(src, dst); // , true) emitByte(0x8A); emitOperandHelper(dst, src); } - public final void movb(CiAddress dst, int imm8) { + public final void movb(Address dst, int imm8) { prefix(dst); emitByte(0xC6); emitOperandHelper(rax, dst); emitByte(imm8); } - public final void movb(CiAddress dst, CiRegister src) { + public final void movb(Address dst, Register src) { assert src.isByte() : "must have byte register"; prefix(dst, src); // , true) emitByte(0x88); emitOperandHelper(src, dst); } - public final void movdl(CiRegister dst, CiRegister src) { + public final void movdl(Register dst, Register src) { if (dst.isFpu()) { assert !src.isFpu() : "does this hold?"; emitByte(0x66); @@ -947,7 +947,7 @@ } } - public final void movdqa(CiRegister dst, CiAddress src) { + public final void movdqa(Register dst, Address src) { assert dst.isFpu(); emitByte(0x66); prefix(src, dst); @@ -956,7 +956,7 @@ emitOperandHelper(dst, src); } - public final void movdqa(CiRegister dst, CiRegister src) { + public final void movdqa(Register dst, Register src) { assert dst.isFpu(); emitByte(0x66); int encode = prefixqAndEncode(dst.encoding, src.encoding); @@ -965,7 +965,7 @@ emitByte(0xC0 | encode); } - public final void movdqa(CiAddress dst, CiRegister src) { + public final void movdqa(Address dst, Register src) { assert src.isFpu(); emitByte(0x66); prefix(dst, src); @@ -974,7 +974,7 @@ emitOperandHelper(src, dst); } - public final void movdqu(CiRegister dst, CiAddress src) { + public final void movdqu(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF3); prefix(src, dst); @@ -983,7 +983,7 @@ emitOperandHelper(dst, src); } - public final void movdqu(CiRegister dst, CiRegister src) { + public final void movdqu(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); @@ -994,7 +994,7 @@ emitByte(0xC0 | encode); } - public final void movdqu(CiAddress dst, CiRegister src) { + public final void movdqu(Address dst, Register src) { assert src.isFpu(); emitByte(0xF3); @@ -1004,32 +1004,32 @@ emitOperandHelper(src, dst); } - public final void movl(CiRegister dst, int imm32) { + public final void movl(Register dst, int imm32) { int encode = prefixAndEncode(dst.encoding); emitByte(0xB8 | encode); emitInt(imm32); } - public final void movl(CiRegister dst, CiRegister src) { + public final void movl(Register dst, Register src) { int encode = prefixAndEncode(dst.encoding, src.encoding); emitByte(0x8B); emitByte(0xC0 | encode); } - public final void movl(CiRegister dst, CiAddress src) { + public final void movl(Register dst, Address src) { prefix(src, dst); emitByte(0x8B); emitOperandHelper(dst, src); } - public final void movl(CiAddress dst, int imm32) { + public final void movl(Address dst, int imm32) { prefix(dst); emitByte(0xC7); emitOperandHelper(rax, dst); emitInt(imm32); } - public final void movl(CiAddress dst, CiRegister src) { + public final void movl(Address dst, Register src) { prefix(dst, src); emitByte(0x89); emitOperandHelper(src, dst); @@ -1038,10 +1038,10 @@ /** * New CPUs require use of movsd and movss to avoid partial register stall * when loading from memory. But for old Opteron use movlpd instead of movsd. - * The selection is done in {@link AMD64MacroAssembler#movdbl(CiRegister, CiAddress)} - * and {@link AMD64MacroAssembler#movflt(CiRegister, CiRegister)}. + * The selection is done in {@link AMD64MacroAssembler#movdbl(Register, Address)} + * and {@link AMD64MacroAssembler#movflt(Register, Register)}. */ - public final void movlpd(CiRegister dst, CiAddress src) { + public final void movlpd(Register dst, Address src) { assert dst.isFpu(); emitByte(0x66); prefix(src, dst); @@ -1050,7 +1050,7 @@ emitOperandHelper(dst, src); } - public final void movlpd(CiAddress dst, CiRegister src) { + public final void movlpd(Address dst, Register src) { assert src.isFpu(); emitByte(0x66); prefix(dst, src); @@ -1059,7 +1059,7 @@ emitOperandHelper(src, dst); } - public final void movq(CiRegister dst, CiAddress src) { + public final void movq(Register dst, Address src) { if (dst.isFpu()) { emitByte(0xF3); prefixq(src, dst); @@ -1073,13 +1073,13 @@ } } - public final void movq(CiRegister dst, CiRegister src) { + public final void movq(Register dst, Register src) { int encode = prefixqAndEncode(dst.encoding, src.encoding); emitByte(0x8B); emitByte(0xC0 | encode); } - public final void movq(CiAddress dst, CiRegister src) { + public final void movq(Address dst, Register src) { if (src.isFpu()) { emitByte(0x66); prefixq(dst, src); @@ -1093,21 +1093,21 @@ } } - public final void movsxb(CiRegister dst, CiAddress src) { // movsxb + public final void movsxb(Register dst, Address src) { // movsxb prefix(src, dst); emitByte(0x0F); emitByte(0xBE); emitOperandHelper(dst, src); } - public final void movsxb(CiRegister dst, CiRegister src) { // movsxb + public final void movsxb(Register dst, Register src) { // movsxb int encode = prefixAndEncode(dst.encoding, src.encoding, true); emitByte(0x0F); emitByte(0xBE); emitByte(0xC0 | encode); } - public final void movsd(CiRegister dst, CiRegister src) { + public final void movsd(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); emitByte(0xF2); @@ -1117,7 +1117,7 @@ emitByte(0xC0 | encode); } - public final void movsd(CiRegister dst, CiAddress src) { + public final void movsd(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF2); prefix(src, dst); @@ -1126,7 +1126,7 @@ emitOperandHelper(dst, src); } - public final void movsd(CiAddress dst, CiRegister src) { + public final void movsd(Address dst, Register src) { assert src.isFpu(); emitByte(0xF2); prefix(dst, src); @@ -1135,7 +1135,7 @@ emitOperandHelper(src, dst); } - public final void movss(CiRegister dst, CiRegister src) { + public final void movss(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); emitByte(0xF3); @@ -1145,7 +1145,7 @@ emitByte(0xC0 | encode); } - public final void movss(CiRegister dst, CiAddress src) { + public final void movss(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF3); prefix(src, dst); @@ -1154,7 +1154,7 @@ emitOperandHelper(dst, src); } - public final void movss(CiAddress dst, CiRegister src) { + public final void movss(Address dst, Register src) { assert src.isFpu(); emitByte(0xF3); prefix(dst, src); @@ -1163,40 +1163,40 @@ emitOperandHelper(src, dst); } - public final void movswl(CiRegister dst, CiAddress src) { + public final void movswl(Register dst, Address src) { prefix(src, dst); emitByte(0x0F); emitByte(0xBF); emitOperandHelper(dst, src); } - public final void movsxw(CiRegister dst, CiRegister src) { // movsxw + public final void movsxw(Register dst, Register src) { // movsxw int encode = prefixAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0xBF); emitByte(0xC0 | encode); } - public final void movsxw(CiRegister dst, CiAddress src) { // movsxw + public final void movsxw(Register dst, Address src) { // movsxw prefix(src, dst); emitByte(0x0F); emitByte(0xBF); emitOperandHelper(dst, src); } - public final void movzxd(CiRegister dst, CiRegister src) { // movzxd + public final void movzxd(Register dst, Register src) { // movzxd int encode = prefixAndEncode(dst.encoding, src.encoding); emitByte(0x63); emitByte(0xC0 | encode); } - public final void movzxd(CiRegister dst, CiAddress src) { // movzxd + public final void movzxd(Register dst, Address src) { // movzxd prefix(src, dst); emitByte(0x63); emitOperandHelper(dst, src); } - public final void movw(CiAddress dst, int imm16) { + public final void movw(Address dst, int imm16) { emitByte(0x66); // switch to 16-bit mode prefix(dst); emitByte(0xC7); @@ -1204,55 +1204,55 @@ emitShort(imm16); } - public final void movw(CiRegister dst, CiAddress src) { + public final void movw(Register dst, Address src) { emitByte(0x66); prefix(src, dst); emitByte(0x8B); emitOperandHelper(dst, src); } - public final void movw(CiAddress dst, CiRegister src) { + public final void movw(Address dst, Register src) { emitByte(0x66); prefix(dst, src); emitByte(0x89); emitOperandHelper(src, dst); } - public final void movzxb(CiRegister dst, CiAddress src) { // movzxb + public final void movzxb(Register dst, Address src) { // movzxb prefix(src, dst); emitByte(0x0F); emitByte(0xB6); emitOperandHelper(dst, src); } - public final void movzxb(CiRegister dst, CiRegister src) { // movzxb + public final void movzxb(Register dst, Register src) { // movzxb int encode = prefixAndEncode(dst.encoding, src.encoding, true); emitByte(0x0F); emitByte(0xB6); emitByte(0xC0 | encode); } - public final void movzxl(CiRegister dst, CiAddress src) { // movzxw + public final void movzxl(Register dst, Address src) { // movzxw prefix(src, dst); emitByte(0x0F); emitByte(0xB7); emitOperandHelper(dst, src); } - public final void movzxl(CiRegister dst, CiRegister src) { // movzxw + public final void movzxl(Register dst, Register src) { // movzxw int encode = prefixAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0xB7); emitByte(0xC0 | encode); } - public final void mull(CiAddress src) { + public final void mull(Address src) { prefix(src); emitByte(0xF7); emitOperandHelper(rsp, src); } - public final void mulsd(CiRegister dst, CiAddress src) { + public final void mulsd(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF2); prefix(src, dst); @@ -1261,7 +1261,7 @@ emitOperandHelper(dst, src); } - public final void mulsd(CiRegister dst, CiRegister src) { + public final void mulsd(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); @@ -1272,7 +1272,7 @@ emitByte(0xC0 | encode); } - public final void mulss(CiRegister dst, CiAddress src) { + public final void mulss(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF3); @@ -1282,7 +1282,7 @@ emitOperandHelper(dst, src); } - public final void mulss(CiRegister dst, CiRegister src) { + public final void mulss(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); emitByte(0xF3); @@ -1292,7 +1292,7 @@ emitByte(0xC0 | encode); } - public final void negl(CiRegister dst) { + public final void negl(Register dst) { int encode = prefixAndEncode(dst.encoding); emitByte(0xF7); emitByte(0xD8 | encode); @@ -1508,84 +1508,84 @@ } } - public final void notl(CiRegister dst) { + public final void notl(Register dst) { int encode = prefixAndEncode(dst.encoding); emitByte(0xF7); emitByte(0xD0 | encode); } - public final void orl(CiAddress dst, int imm32) { + public final void orl(Address dst, int imm32) { prefix(dst); emitByte(0x81); emitOperandHelper(rcx, dst); emitInt(imm32); } - public final void orl(CiRegister dst, int imm32) { + public final void orl(Register dst, int imm32) { prefix(dst); emitArith(0x81, 0xC8, dst, imm32); } - public final void orl(CiRegister dst, CiAddress src) { + public final void orl(Register dst, Address src) { prefix(src, dst); emitByte(0x0B); emitOperandHelper(dst, src); } - public final void orl(CiRegister dst, CiRegister src) { + public final void orl(Register dst, Register src) { prefixAndEncode(dst.encoding, src.encoding); emitArith(0x0B, 0xC0, dst, src); } // generic - public final void pop(CiRegister dst) { + public final void pop(Register dst) { int encode = prefixAndEncode(dst.encoding); emitByte(0x58 | encode); } - public final void prefetchPrefix(CiAddress src) { + public final void prefetchPrefix(Address src) { prefix(src); emitByte(0x0F); } - public final void prefetchnta(CiAddress src) { + public final void prefetchnta(Address src) { prefetchPrefix(src); emitByte(0x18); emitOperandHelper(rax, src); // 0, src } - public final void prefetchr(CiAddress src) { + public final void prefetchr(Address src) { prefetchPrefix(src); emitByte(0x0D); emitOperandHelper(rax, src); // 0, src } - public final void prefetcht0(CiAddress src) { + public final void prefetcht0(Address src) { prefetchPrefix(src); emitByte(0x18); emitOperandHelper(rcx, src); // 1, src } - public final void prefetcht1(CiAddress src) { + public final void prefetcht1(Address src) { prefetchPrefix(src); emitByte(0x18); emitOperandHelper(rdx, src); // 2, src } - public final void prefetcht2(CiAddress src) { + public final void prefetcht2(Address src) { prefetchPrefix(src); emitByte(0x18); emitOperandHelper(rbx, src); // 3, src } - public final void prefetchw(CiAddress src) { + public final void prefetchw(Address src) { prefetchPrefix(src); emitByte(0x0D); emitOperandHelper(rcx, src); // 1, src } - public final void pshufd(CiRegister dst, CiRegister src, int mode) { + public final void pshufd(Register dst, Register src, int mode) { assert dst.isFpu(); assert src.isFpu(); assert isUByte(mode) : "invalid value"; @@ -1598,7 +1598,7 @@ emitByte(mode & 0xFF); } - public final void pshufd(CiRegister dst, CiAddress src, int mode) { + public final void pshufd(Register dst, Address src, int mode) { assert dst.isFpu(); assert isUByte(mode) : "invalid value"; @@ -1611,7 +1611,7 @@ } - public final void pshuflw(CiRegister dst, CiRegister src, int mode) { + public final void pshuflw(Register dst, Register src, int mode) { assert dst.isFpu(); assert src.isFpu(); assert isUByte(mode) : "invalid value"; @@ -1624,7 +1624,7 @@ emitByte(mode & 0xFF); } - public final void pshuflw(CiRegister dst, CiAddress src, int mode) { + public final void pshuflw(Register dst, Address src, int mode) { assert dst.isFpu(); assert isUByte(mode) : "invalid value"; @@ -1636,7 +1636,7 @@ emitByte(mode & 0xFF); } - public final void psrlq(CiRegister dst, int shift) { + public final void psrlq(Register dst, int shift) { assert dst.isFpu(); // HMM Table D-1 says sse2 or mmx @@ -1648,7 +1648,7 @@ emitByte(shift); } - public final void punpcklbw(CiRegister dst, CiRegister src) { + public final void punpcklbw(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); emitByte(0x66); @@ -1665,7 +1665,7 @@ emitInt(imm32); } - public final void push(CiRegister src) { + public final void push(Register src) { int encode = prefixAndEncode(src.encoding); emitByte(0x50 | encode); } @@ -1674,7 +1674,7 @@ emitByte(0x9C); } - public final void pxor(CiRegister dst, CiAddress src) { + public final void pxor(Register dst, Address src) { assert dst.isFpu(); emitByte(0x66); @@ -1684,7 +1684,7 @@ emitOperandHelper(dst, src); } - public final void pxor(CiRegister dst, CiRegister src) { + public final void pxor(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); @@ -1696,7 +1696,7 @@ } - public final void rcll(CiRegister dst, int imm8) { + public final void rcll(Register dst, int imm8) { assert isShiftCount(imm8) : "illegal shift count"; int encode = prefixAndEncode(dst.encoding); if (imm8 == 1) { @@ -1763,7 +1763,7 @@ } } - public final void sarl(CiRegister dst, int imm8) { + public final void sarl(Register dst, int imm8) { int encode = prefixAndEncode(dst.encoding); assert isShiftCount(imm8) : "illegal shift count"; if (imm8 == 1) { @@ -1776,34 +1776,34 @@ } } - public final void sarl(CiRegister dst) { + public final void sarl(Register dst) { int encode = prefixAndEncode(dst.encoding); emitByte(0xD3); emitByte(0xF8 | encode); } - public final void sbbl(CiAddress dst, int imm32) { + public final void sbbl(Address dst, int imm32) { prefix(dst); emitArithOperand(0x81, rbx, dst, imm32); } - public final void sbbl(CiRegister dst, int imm32) { + public final void sbbl(Register dst, int imm32) { prefix(dst); emitArith(0x81, 0xD8, dst, imm32); } - public final void sbbl(CiRegister dst, CiAddress src) { + public final void sbbl(Register dst, Address src) { prefix(src, dst); emitByte(0x1B); emitOperandHelper(dst, src); } - public final void sbbl(CiRegister dst, CiRegister src) { + public final void sbbl(Register dst, Register src) { prefixAndEncode(dst.encoding, src.encoding); emitArith(0x1B, 0xC0, dst, src); } - public final void setb(ConditionFlag cc, CiRegister dst) { + public final void setb(ConditionFlag cc, Register dst) { assert 0 <= cc.value && cc.value < 16 : "illegal cc"; int encode = prefixAndEncode(dst.encoding, true); emitByte(0x0F); @@ -1811,7 +1811,7 @@ emitByte(0xC0 | encode); } - public final void shll(CiRegister dst, int imm8) { + public final void shll(Register dst, int imm8) { assert isShiftCount(imm8) : "illegal shift count"; int encode = prefixAndEncode(dst.encoding); if (imm8 == 1) { @@ -1824,13 +1824,13 @@ } } - public final void shll(CiRegister dst) { + public final void shll(Register dst) { int encode = prefixAndEncode(dst.encoding); emitByte(0xD3); emitByte(0xE0 | encode); } - public final void shrl(CiRegister dst, int imm8) { + public final void shrl(Register dst, int imm8) { assert isShiftCount(imm8) : "illegal shift count"; int encode = prefixAndEncode(dst.encoding); emitByte(0xC1); @@ -1838,7 +1838,7 @@ emitByte(imm8); } - public final void shrl(CiRegister dst) { + public final void shrl(Register dst) { int encode = prefixAndEncode(dst.encoding); emitByte(0xD3); emitByte(0xE8 | encode); @@ -1849,7 +1849,7 @@ emitByte(0xA5); } - public final void sqrtsd(CiRegister dst, CiRegister src) { + public final void sqrtsd(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); // HMM Table D-1 says sse2 @@ -1861,7 +1861,7 @@ emitByte(0xC0 | encode); } - public final void subl(CiAddress dst, int imm32) { + public final void subl(Address dst, int imm32) { prefix(dst); if (isByte(imm32)) { emitByte(0x83); @@ -1874,29 +1874,29 @@ } } - public final void subl(CiRegister dst, int imm32) { + public final void subl(Register dst, int imm32) { prefix(dst); emitArith(0x81, 0xE8, dst, imm32); } - public final void subl(CiAddress dst, CiRegister src) { + public final void subl(Address dst, Register src) { prefix(dst, src); emitByte(0x29); emitOperandHelper(src, dst); } - public final void subl(CiRegister dst, CiAddress src) { + public final void subl(Register dst, Address src) { prefix(src, dst); emitByte(0x2B); emitOperandHelper(dst, src); } - public final void subl(CiRegister dst, CiRegister src) { + public final void subl(Register dst, Register src) { prefixAndEncode(dst.encoding, src.encoding); emitArith(0x2B, 0xC0, dst, src); } - public final void subsd(CiRegister dst, CiRegister src) { + public final void subsd(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); emitByte(0xF2); @@ -1906,7 +1906,7 @@ emitByte(0xC0 | encode); } - public final void subsd(CiRegister dst, CiAddress src) { + public final void subsd(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF2); @@ -1916,7 +1916,7 @@ emitOperandHelper(dst, src); } - public final void subss(CiRegister dst, CiRegister src) { + public final void subss(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); emitByte(0xF3); @@ -1926,7 +1926,7 @@ emitByte(0xC0 | encode); } - public final void subss(CiRegister dst, CiAddress src) { + public final void subss(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF3); @@ -1936,12 +1936,12 @@ emitOperandHelper(dst, src); } - public final void testb(CiRegister dst, int imm8) { + public final void testb(Register dst, int imm8) { prefixAndEncode(dst.encoding, true); emitArithB(0xF6, 0xC0, dst, imm8); } - public final void testl(CiRegister dst, int imm32) { + public final void testl(Register dst, int imm32) { // not using emitArith because test // doesn't support sign-extension of // 8bit operands @@ -1956,31 +1956,31 @@ emitInt(imm32); } - public final void testl(CiRegister dst, CiRegister src) { + public final void testl(Register dst, Register src) { prefixAndEncode(dst.encoding, src.encoding); emitArith(0x85, 0xC0, dst, src); } - public final void testl(CiRegister dst, CiAddress src) { + public final void testl(Register dst, Address src) { prefix(src, dst); emitByte(0x85); emitOperandHelper(dst, src); } - public final void ucomisd(CiRegister dst, CiAddress src) { + public final void ucomisd(Register dst, Address src) { assert dst.isFpu(); emitByte(0x66); ucomiss(dst, src); } - public final void ucomisd(CiRegister dst, CiRegister src) { + public final void ucomisd(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); emitByte(0x66); ucomiss(dst, src); } - public final void ucomiss(CiRegister dst, CiAddress src) { + public final void ucomiss(Register dst, Address src) { assert dst.isFpu(); prefix(src, dst); @@ -1989,7 +1989,7 @@ emitOperandHelper(dst, src); } - public final void ucomiss(CiRegister dst, CiRegister src) { + public final void ucomiss(Register dst, Register src) { assert dst.isFpu(); assert src.isFpu(); int encode = prefixAndEncode(dst.encoding, src.encoding); @@ -1998,7 +1998,7 @@ emitByte(0xC0 | encode); } - public final void xaddl(CiAddress dst, CiRegister src) { + public final void xaddl(Address dst, Register src) { assert src.isFpu(); prefix(dst, src); @@ -2007,45 +2007,45 @@ emitOperandHelper(src, dst); } - public final void xchgl(CiRegister dst, CiAddress src) { // xchg + public final void xchgl(Register dst, Address src) { // xchg prefix(src, dst); emitByte(0x87); emitOperandHelper(dst, src); } - public final void xchgl(CiRegister dst, CiRegister src) { + public final void xchgl(Register dst, Register src) { int encode = prefixAndEncode(dst.encoding, src.encoding); emitByte(0x87); emitByte(0xc0 | encode); } - public final void xorl(CiRegister dst, int imm32) { + public final void xorl(Register dst, int imm32) { prefix(dst); emitArith(0x81, 0xF0, dst, imm32); } - public final void xorl(CiRegister dst, CiAddress src) { + public final void xorl(Register dst, Address src) { prefix(src, dst); emitByte(0x33); emitOperandHelper(dst, src); } - public final void xorl(CiRegister dst, CiRegister src) { + public final void xorl(Register dst, Register src) { prefixAndEncode(dst.encoding, src.encoding); emitArith(0x33, 0xC0, dst, src); } - public final void andpd(CiRegister dst, CiRegister src) { + public final void andpd(Register dst, Register src) { emitByte(0x66); andps(dst, src); } - public final void andpd(CiRegister dst, CiAddress src) { + public final void andpd(Register dst, Address src) { emitByte(0x66); andps(dst, src); } - public final void andps(CiRegister dst, CiRegister src) { + public final void andps(Register dst, Register src) { assert dst.isFpu() && src.isFpu(); int encode = prefixAndEncode(dst.encoding, src.encoding); emitByte(0x0F); @@ -2053,7 +2053,7 @@ emitByte(0xC0 | encode); } - public final void andps(CiRegister dst, CiAddress src) { + public final void andps(Register dst, Address src) { assert dst.isFpu(); prefix(src, dst); emitByte(0x0F); @@ -2061,17 +2061,17 @@ emitOperandHelper(dst, src); } - public final void orpd(CiRegister dst, CiRegister src) { + public final void orpd(Register dst, Register src) { emitByte(0x66); orps(dst, src); } - public final void orpd(CiRegister dst, CiAddress src) { + public final void orpd(Register dst, Address src) { emitByte(0x66); orps(dst, src); } - public final void orps(CiRegister dst, CiRegister src) { + public final void orps(Register dst, Register src) { assert dst.isFpu() && src.isFpu(); int encode = prefixAndEncode(dst.encoding, src.encoding); emitByte(0x0F); @@ -2079,7 +2079,7 @@ emitByte(0xC0 | encode); } - public final void orps(CiRegister dst, CiAddress src) { + public final void orps(Register dst, Address src) { assert dst.isFpu(); prefix(src, dst); emitByte(0x0F); @@ -2087,17 +2087,17 @@ emitOperandHelper(dst, src); } - public final void xorpd(CiRegister dst, CiRegister src) { + public final void xorpd(Register dst, Register src) { emitByte(0x66); xorps(dst, src); } - public final void xorpd(CiRegister dst, CiAddress src) { + public final void xorpd(Register dst, Address src) { emitByte(0x66); xorps(dst, src); } - public final void xorps(CiRegister dst, CiRegister src) { + public final void xorps(Register dst, Register src) { assert dst.isFpu() && src.isFpu(); int encode = prefixAndEncode(dst.encoding, src.encoding); emitByte(0x0F); @@ -2105,7 +2105,7 @@ emitByte(0xC0 | encode); } - public final void xorps(CiRegister dst, CiAddress src) { + public final void xorps(Register dst, Address src) { assert dst.isFpu(); prefix(src, dst); emitByte(0x0F); @@ -2115,7 +2115,7 @@ // 32bit only pieces of the assembler - public final void decl(CiRegister dst) { + public final void decl(Register dst) { // Don't use it directly. Use Macrodecrementl() instead. // Use two-byte form (one-byte form is a REX prefix in 64-bit mode) int encode = prefixAndEncode(dst.encoding); @@ -2123,7 +2123,7 @@ emitByte(0xC8 | encode); } - public final void incl(CiRegister dst) { + public final void incl(Register dst) { // Don't use it directly. Use Macroincrementl() instead. // Use two-byte form (one-byte from is a REX prefix in 64-bit mode) int encode = prefixAndEncode(dst.encoding); @@ -2211,7 +2211,7 @@ return regEnc << 3 | rmEnc; } - private void prefix(CiRegister reg) { + private void prefix(Register reg) { if (reg.encoding >= 8) { emitByte(Prefix.REXB); } @@ -2222,7 +2222,7 @@ } - private void prefix(CiAddress adr) { + private void prefix(Address adr) { if (needsRex(adr.base)) { if (needsRex(adr.index)) { emitByte(Prefix.REXXB); @@ -2236,7 +2236,7 @@ } } - private void prefixq(CiAddress adr) { + private void prefixq(Address adr) { if (needsRex(adr.base)) { if (needsRex(adr.index)) { emitByte(Prefix.REXWXB); @@ -2252,7 +2252,7 @@ } } - private void prefix(CiAddress adr, CiRegister reg) { + private void prefix(Address adr, Register reg) { if (reg.encoding < 8) { if (needsRex(adr.base)) { if (needsRex(adr.index)) { @@ -2284,7 +2284,7 @@ } } - private void prefixq(CiAddress adr, CiRegister src) { + private void prefixq(Address adr, Register src) { if (src.encoding < 8) { if (needsRex(adr.base)) { if (needsRex(adr.index)) { @@ -2316,50 +2316,50 @@ } } - public final void addq(CiAddress dst, int imm32) { + public final void addq(Address dst, int imm32) { prefixq(dst); emitArithOperand(0x81, rax, dst, imm32); } - public final void addq(CiAddress dst, CiRegister src) { + public final void addq(Address dst, Register src) { prefixq(dst, src); emitByte(0x01); emitOperandHelper(src, dst); } - public final void addq(CiRegister dst, int imm32) { + public final void addq(Register dst, int imm32) { prefixqAndEncode(dst.encoding); emitArith(0x81, 0xC0, dst, imm32); } - public final void addq(CiRegister dst, CiAddress src) { + public final void addq(Register dst, Address src) { prefixq(src, dst); emitByte(0x03); emitOperandHelper(dst, src); } - public final void addq(CiRegister dst, CiRegister src) { + public final void addq(Register dst, Register src) { prefixqAndEncode(dst.encoding, src.encoding); emitArith(0x03, 0xC0, dst, src); } - public final void andq(CiRegister dst, int imm32) { + public final void andq(Register dst, int imm32) { prefixqAndEncode(dst.encoding); emitArith(0x81, 0xE0, dst, imm32); } - public final void andq(CiRegister dst, CiAddress src) { + public final void andq(Register dst, Address src) { prefixq(src, dst); emitByte(0x23); emitOperandHelper(dst, src); } - public final void andq(CiRegister dst, CiRegister src) { + public final void andq(Register dst, Register src) { prefixqAndEncode(dst.encoding, src.encoding); emitArith(0x23, 0xC0, dst, src); } - public final void bswapq(CiRegister reg) { + public final void bswapq(Register reg) { int encode = prefixqAndEncode(reg.encoding); emitByte(0x0F); emitByte(0xC8 | encode); @@ -2370,57 +2370,57 @@ emitByte(0x99); } - public final void cmovq(ConditionFlag cc, CiRegister dst, CiRegister src) { + public final void cmovq(ConditionFlag cc, Register dst, Register src) { int encode = prefixqAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0x40 | cc.value); emitByte(0xC0 | encode); } - public final void cmovq(ConditionFlag cc, CiRegister dst, CiAddress src) { + public final void cmovq(ConditionFlag cc, Register dst, Address src) { prefixq(src, dst); emitByte(0x0F); emitByte(0x40 | cc.value); emitOperandHelper(dst, src); } - public final void cmpq(CiAddress dst, int imm32) { + public final void cmpq(Address dst, int imm32) { prefixq(dst); emitByte(0x81); emitOperandHelper(rdi, dst); emitInt(imm32); } - public final void cmpq(CiRegister dst, int imm32) { + public final void cmpq(Register dst, int imm32) { prefixqAndEncode(dst.encoding); emitArith(0x81, 0xF8, dst, imm32); } - public final void cmpq(CiAddress dst, CiRegister src) { + public final void cmpq(Address dst, Register src) { prefixq(dst, src); emitByte(0x3B); emitOperandHelper(src, dst); } - public final void cmpq(CiRegister dst, CiRegister src) { + public final void cmpq(Register dst, Register src) { prefixqAndEncode(dst.encoding, src.encoding); emitArith(0x3B, 0xC0, dst, src); } - public final void cmpq(CiRegister dst, CiAddress src) { + public final void cmpq(Register dst, Address src) { prefixq(src, dst); emitByte(0x3B); emitOperandHelper(dst, src); } - public final void cmpxchgq(CiRegister reg, CiAddress adr) { + public final void cmpxchgq(Register reg, Address adr) { prefixq(adr, reg); emitByte(0x0F); emitByte(0xB1); emitOperandHelper(reg, adr); } - public final void cvtsi2sdq(CiRegister dst, CiRegister src) { + public final void cvtsi2sdq(Register dst, Register src) { assert dst.isFpu(); emitByte(0xF2); int encode = prefixqAndEncode(dst.encoding, src.encoding); @@ -2429,7 +2429,7 @@ emitByte(0xC0 | encode); } - public final void cvtsi2ssq(CiRegister dst, CiRegister src) { + public final void cvtsi2ssq(Register dst, Register src) { assert dst.isFpu(); emitByte(0xF3); int encode = prefixqAndEncode(dst.encoding, src.encoding); @@ -2438,7 +2438,7 @@ emitByte(0xC0 | encode); } - public final void cvttsd2siq(CiRegister dst, CiRegister src) { + public final void cvttsd2siq(Register dst, Register src) { assert src.isFpu(); emitByte(0xF2); int encode = prefixqAndEncode(dst.encoding, src.encoding); @@ -2447,7 +2447,7 @@ emitByte(0xC0 | encode); } - public final void cvttss2siq(CiRegister dst, CiRegister src) { + public final void cvttss2siq(Register dst, Register src) { assert src.isFpu(); emitByte(0xF3); int encode = prefixqAndEncode(dst.encoding, src.encoding); @@ -2456,7 +2456,7 @@ emitByte(0xC0 | encode); } - public final void decq(CiRegister dst) { + public final void decq(Register dst) { // Don't use it directly. Use Macrodecrementq() instead. // Use two-byte form (one-byte from is a REX prefix in 64-bit mode) int encode = prefixqAndEncode(dst.encoding); @@ -2464,33 +2464,33 @@ emitByte(0xC8 | encode); } - public final void decq(CiAddress dst) { + public final void decq(Address dst) { // Don't use it directly. Use Macrodecrementq() instead. prefixq(dst); emitByte(0xFF); emitOperandHelper(rcx, dst); } - public final void divq(CiRegister src) { + public final void divq(Register src) { int encode = prefixqAndEncode(src.encoding); emitByte(0xF7); emitByte(0xF0 | encode); } - public final void idivq(CiRegister src) { + public final void idivq(Register src) { int encode = prefixqAndEncode(src.encoding); emitByte(0xF7); emitByte(0xF8 | encode); } - public final void imulq(CiRegister dst, CiRegister src) { + public final void imulq(Register dst, Register src) { int encode = prefixqAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0xAF); emitByte(0xC0 | encode); } - public final void imulq(CiRegister dst, CiRegister src, int value) { + public final void imulq(Register dst, Register src, int value) { int encode = prefixqAndEncode(dst.encoding, src.encoding); if (isByte(value)) { emitByte(0x6B); @@ -2503,7 +2503,7 @@ } } - public final void incq(CiRegister dst) { + public final void incq(Register dst) { // Don't use it directly. Use Macroincrementq() instead. // Use two-byte form (one-byte from is a REX prefix in 64-bit mode) int encode = prefixqAndEncode(dst.encoding); @@ -2511,20 +2511,20 @@ emitByte(0xC0 | encode); } - public final void incq(CiAddress dst) { + public final void incq(Address dst) { // Don't use it directly. Use Macroincrementq() instead. prefixq(dst); emitByte(0xFF); emitOperandHelper(rax, dst); } - public final void movq(CiRegister dst, long imm64) { + public final void movq(Register dst, long imm64) { int encode = prefixqAndEncode(dst.encoding); emitByte(0xB8 | encode); emitLong(imm64); } - public final void movdq(CiRegister dst, CiRegister src) { + public final void movdq(Register dst, Register src) { // table D-1 says MMX/SSE2 emitByte(0x66); @@ -2547,21 +2547,21 @@ } } - public final void movsbq(CiRegister dst, CiAddress src) { + public final void movsbq(Register dst, Address src) { prefixq(src, dst); emitByte(0x0F); emitByte(0xBE); emitOperandHelper(dst, src); } - public final void movsbq(CiRegister dst, CiRegister src) { + public final void movsbq(Register dst, Register src) { int encode = prefixqAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0xBE); emitByte(0xC0 | encode); } - public final void movslq(CiRegister dst, int imm32) { + public final void movslq(Register dst, int imm32) { int encode = prefixqAndEncode(dst.encoding); emitByte(0xC7 | encode); emitInt(imm32); @@ -2571,115 +2571,115 @@ throw new InternalError("untested"); } - public final void movslq(CiAddress dst, int imm32) { + public final void movslq(Address dst, int imm32) { prefixq(dst); emitByte(0xC7); emitOperandHelper(rax, dst); emitInt(imm32); } - public final void movslq(CiRegister dst, CiAddress src) { + public final void movslq(Register dst, Address src) { prefixq(src, dst); emitByte(0x63); emitOperandHelper(dst, src); } - public final void movslq(CiRegister dst, CiRegister src) { + public final void movslq(Register dst, Register src) { int encode = prefixqAndEncode(dst.encoding, src.encoding); emitByte(0x63); emitByte(0xC0 | encode); } - public final void movswq(CiRegister dst, CiAddress src) { + public final void movswq(Register dst, Address src) { prefixq(src, dst); emitByte(0x0F); emitByte(0xBF); emitOperandHelper(dst, src); } - public final void movswq(CiRegister dst, CiRegister src) { + public final void movswq(Register dst, Register src) { int encode = prefixqAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0xBF); emitByte(0xC0 | encode); } - public final void movzbq(CiRegister dst, CiAddress src) { + public final void movzbq(Register dst, Address src) { prefixq(src, dst); emitByte(0x0F); emitByte(0xB6); emitOperandHelper(dst, src); } - public final void movzbq(CiRegister dst, CiRegister src) { + public final void movzbq(Register dst, Register src) { int encode = prefixqAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0xB6); emitByte(0xC0 | encode); } - public final void movzwq(CiRegister dst, CiAddress src) { + public final void movzwq(Register dst, Address src) { prefixq(src, dst); emitByte(0x0F); emitByte(0xB7); emitOperandHelper(dst, src); } - public final void movzwq(CiRegister dst, CiRegister src) { + public final void movzwq(Register dst, Register src) { int encode = prefixqAndEncode(dst.encoding, src.encoding); emitByte(0x0F); emitByte(0xB7); emitByte(0xC0 | encode); } - public final void negq(CiRegister dst) { + public final void negq(Register dst) { int encode = prefixqAndEncode(dst.encoding); emitByte(0xF7); emitByte(0xD8 | encode); } - public final void notq(CiRegister dst) { + public final void notq(Register dst) { int encode = prefixqAndEncode(dst.encoding); emitByte(0xF7); emitByte(0xD0 | encode); } - public final void orq(CiAddress dst, int imm32) { + public final void orq(Address dst, int imm32) { prefixq(dst); emitByte(0x81); emitOperandHelper(rcx, dst); emitInt(imm32); } - public final void orq(CiRegister dst, int imm32) { + public final void orq(Register dst, int imm32) { prefixqAndEncode(dst.encoding); emitArith(0x81, 0xC8, dst, imm32); } - public final void orq(CiRegister dst, CiAddress src) { + public final void orq(Register dst, Address src) { prefixq(src, dst); emitByte(0x0B); emitOperandHelper(dst, src); } - public final void orq(CiRegister dst, CiRegister src) { + public final void orq(Register dst, Register src) { prefixqAndEncode(dst.encoding, src.encoding); emitArith(0x0B, 0xC0, dst, src); } - public final void popq(CiAddress dst) { + public final void popq(Address dst) { prefixq(dst); emitByte(0x8F); emitOperandHelper(rax, dst); } - public final void pushq(CiAddress src) { + public final void pushq(Address src) { prefixq(src); emitByte(0xFF); emitOperandHelper(rsi, src); } - public final void rclq(CiRegister dst, int imm8) { + public final void rclq(Register dst, int imm8) { assert isShiftCount(imm8 >> 1) : "illegal shift count"; int encode = prefixqAndEncode(dst.encoding); if (imm8 == 1) { @@ -2692,7 +2692,7 @@ } } - public final void sarq(CiRegister dst, int imm8) { + public final void sarq(Register dst, int imm8) { assert isShiftCount(imm8 >> 1) : "illegal shift count"; int encode = prefixqAndEncode(dst.encoding); if (imm8 == 1) { @@ -2705,13 +2705,13 @@ } } - public final void sarq(CiRegister dst) { + public final void sarq(Register dst) { int encode = prefixqAndEncode(dst.encoding); emitByte(0xD3); emitByte(0xF8 | encode); } - public final void shlq(CiRegister dst, int imm8) { + public final void shlq(Register dst, int imm8) { assert isShiftCount(imm8 >> 1) : "illegal shift count"; int encode = prefixqAndEncode(dst.encoding); if (imm8 == 1) { @@ -2724,13 +2724,13 @@ } } - public final void shlq(CiRegister dst) { + public final void shlq(Register dst) { int encode = prefixqAndEncode(dst.encoding); emitByte(0xD3); emitByte(0xE0 | encode); } - public final void shrq(CiRegister dst, int imm8) { + public final void shrq(Register dst, int imm8) { assert isShiftCount(imm8 >> 1) : "illegal shift count"; int encode = prefixqAndEncode(dst.encoding); emitByte(0xC1); @@ -2738,13 +2738,13 @@ emitByte(imm8); } - public final void shrq(CiRegister dst) { + public final void shrq(Register dst) { int encode = prefixqAndEncode(dst.encoding); emitByte(0xD3); emitByte(0xE8 | encode); } - public final void sqrtsd(CiRegister dst, CiAddress src) { + public final void sqrtsd(Register dst, Address src) { assert dst.isFpu(); emitByte(0xF2); @@ -2754,7 +2754,7 @@ emitOperandHelper(dst, src); } - public final void subq(CiAddress dst, int imm32) { + public final void subq(Address dst, int imm32) { prefixq(dst); if (isByte(imm32)) { emitByte(0x83); @@ -2767,29 +2767,29 @@ } } - public final void subq(CiRegister dst, int imm32) { + public final void subq(Register dst, int imm32) { prefixqAndEncode(dst.encoding); emitArith(0x81, 0xE8, dst, imm32); } - public final void subq(CiAddress dst, CiRegister src) { + public final void subq(Address dst, Register src) { prefixq(dst, src); emitByte(0x29); emitOperandHelper(src, dst); } - public final void subq(CiRegister dst, CiAddress src) { + public final void subq(Register dst, Address src) { prefixq(src, dst); emitByte(0x2B); emitOperandHelper(dst, src); } - public final void subq(CiRegister dst, CiRegister src) { + public final void subq(Register dst, Register src) { prefixqAndEncode(dst.encoding, src.encoding); emitArith(0x2B, 0xC0, dst, src); } - public final void testq(CiRegister dst, int imm32) { + public final void testq(Register dst, int imm32) { // not using emitArith because test // doesn't support sign-extension of // 8bit operands @@ -2805,41 +2805,41 @@ emitInt(imm32); } - public final void testq(CiRegister dst, CiRegister src) { + public final void testq(Register dst, Register src) { prefixqAndEncode(dst.encoding, src.encoding); emitArith(0x85, 0xC0, dst, src); } - public final void xaddq(CiAddress dst, CiRegister src) { + public final void xaddq(Address dst, Register src) { prefixq(dst, src); emitByte(0x0F); emitByte(0xC1); emitOperandHelper(src, dst); } - public final void xchgq(CiRegister dst, CiAddress src) { + public final void xchgq(Register dst, Address src) { prefixq(src, dst); emitByte(0x87); emitOperandHelper(dst, src); } - public final void xchgq(CiRegister dst, CiRegister src) { + public final void xchgq(Register dst, Register src) { int encode = prefixqAndEncode(dst.encoding, src.encoding); emitByte(0x87); emitByte(0xc0 | encode); } - public final void xorq(CiRegister dst, int imm32) { + public final void xorq(Register dst, int imm32) { prefixqAndEncode(dst.encoding); emitArith(0x81, 0xF0, dst, imm32); } - public final void xorq(CiRegister dst, CiRegister src) { + public final void xorq(Register dst, Register src) { prefixqAndEncode(dst.encoding, src.encoding); emitArith(0x33, 0xC0, dst, src); } - public final void xorq(CiRegister dst, CiAddress src) { + public final void xorq(Register dst, Address src) { prefixq(src, dst); emitByte(0x33); @@ -2860,7 +2860,7 @@ // the code where this idiom is used, in particular the // orderAccess code. lock(); - addl(new CiAddress(Word, RSP, 0), 0); // Assert the lock# signal here + addl(new Address(Word, RSP, 0), 0); // Assert the lock# signal here } } } @@ -2899,8 +2899,8 @@ } } - public void nullCheck(CiRegister r) { - testl(AMD64.rax, new CiAddress(Word, r.asValue(Word), 0)); + public void nullCheck(Register r) { + testl(AMD64.rax, new Address(Word, r.asValue(Word), 0)); } @Override @@ -2940,7 +2940,7 @@ emitInt(0); } - public final void call(CiRegister src) { + public final void call(Register src) { int encode = prefixAndEncode(src.encoding); emitByte(0xFF); emitByte(0xD0 | encode); @@ -2964,7 +2964,7 @@ emitByte(b2 + i); } - public void fld(CiAddress src) { + public void fld(Address src) { emitByte(0xDD); emitOperandHelper(rax, src); } @@ -2988,7 +2988,7 @@ emitByte(0xF1); } - public void fstp(CiAddress src) { + public void fstp(Address src) { emitByte(0xDD); emitOperandHelper(rbx, src); } @@ -3014,6 +3014,6 @@ @Override public void bangStack(int disp) { - movq(new CiAddress(target.wordKind, AMD64.RSP, -disp), AMD64.rax); + movq(new Address(target.wordKind, AMD64.RSP, -disp), AMD64.rax); } }