| Index: runtime/vm/assembler_x64.h
|
| ===================================================================
|
| --- runtime/vm/assembler_x64.h (revision 2556)
|
| +++ runtime/vm/assembler_x64.h (working copy)
|
| @@ -208,14 +208,6 @@
|
| }
|
| }
|
|
|
| - static Address Absolute(const uword addr) {
|
| - UNIMPLEMENTED();
|
| - Address result;
|
| - result.SetModRM(0, RBP);
|
| - result.SetDisp32(addr);
|
| - return result;
|
| - }
|
| -
|
| private:
|
| Address() {}
|
|
|
| @@ -318,7 +310,7 @@
|
| void call(Label* label);
|
| void call(const ExternalLabel* label);
|
|
|
| - static const intptr_t kCallExternalLabelSize = 5;
|
| + static const intptr_t kCallExternalLabelSize = 13;
|
|
|
| void pushq(Register reg);
|
| void pushq(const Address& address);
|
| @@ -436,6 +428,7 @@
|
|
|
| void subq(Register dst, Register src);
|
| void subq(Register reg, const Immediate& imm);
|
| + void subq(Register reg, const Address& address);
|
|
|
| void shll(Register reg, const Immediate& imm);
|
| void shll(Register operand, Register shifter);
|
| @@ -464,13 +457,15 @@
|
|
|
| void enter(const Immediate& imm);
|
| void leave();
|
| -
|
| void ret();
|
| - void nop();
|
| +
|
| + // 'size' indicates size in bytes and must be in the range 1..8.
|
| + void nop(int size = 1);
|
| void int3();
|
| void hlt();
|
|
|
| void j(Condition condition, Label* label, bool near = kFarJump);
|
| + void j(Condition condition, const ExternalLabel* label);
|
|
|
| void jmp(Register reg);
|
| void jmp(Label* label, bool near = kFarJump);
|
|
|