| Index: src/ia32/assembler-ia32.h
|
| ===================================================================
|
| --- src/ia32/assembler-ia32.h (revision 5449)
|
| +++ src/ia32/assembler-ia32.h (working copy)
|
| @@ -687,6 +687,7 @@
|
| // but it may be bound only once.
|
|
|
| void bind(Label* L); // binds an unbound label L to the current code position
|
| + void bind(NearLabel* L);
|
|
|
| // Calls
|
| void call(Label* L);
|
| @@ -701,11 +702,17 @@
|
| void jmp(const Operand& adr);
|
| void jmp(Handle<Code> code, RelocInfo::Mode rmode);
|
|
|
| + // Short jump
|
| + void jmp(NearLabel* L);
|
| +
|
| // Conditional jumps
|
| void j(Condition cc, Label* L, Hint hint = no_hint);
|
| void j(Condition cc, byte* entry, RelocInfo::Mode rmode, Hint hint = no_hint);
|
| void j(Condition cc, Handle<Code> code, Hint hint = no_hint);
|
|
|
| + // Conditional short jump
|
| + void j(Condition cc, NearLabel* L, Hint hint = no_hint);
|
| +
|
| // Floating-point operations
|
| void fld(int i);
|
| void fstp(int i);
|
| @@ -868,6 +875,7 @@
|
| private:
|
| byte* addr_at(int pos) { return buffer_ + pos; }
|
| byte byte_at(int pos) { return buffer_[pos]; }
|
| + void set_byte_at(int pos, byte value) { buffer_[pos] = value; }
|
| uint32_t long_at(int pos) {
|
| return *reinterpret_cast<uint32_t*>(addr_at(pos));
|
| }
|
| @@ -902,7 +910,6 @@
|
| // labels
|
| void print(Label* L);
|
| void bind_to(Label* L, int pos);
|
| - void link_to(Label* L, Label* appendix);
|
|
|
| // displacements
|
| inline Displacement disp_at(Label* L);
|
|
|