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); |