Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(533)

Unified Diff: src/assembler-ia32.h

Issue 12427: Merge regexp2000 back into bleeding_edge (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 12 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/assembler-ia32.h
===================================================================
--- src/assembler-ia32.h (revision 830)
+++ src/assembler-ia32.h (working copy)
@@ -118,8 +118,8 @@
not_equal = 5,
below_equal = 6,
above = 7,
- sign = 8,
- not_sign = 9,
+ negative = 8,
+ positive = 9,
parity_even = 10,
parity_odd = 11,
less = 12,
@@ -128,10 +128,12 @@
greater = 15,
// aliases
+ carry = below,
+ not_carry = above_equal,
zero = equal,
not_zero = not_equal,
- negative = sign,
- positive = not_sign
+ sign = negative,
+ not_sign = positive
};
@@ -283,13 +285,14 @@
//
// Displacement _data field layout
//
-// |31.....1| ......0|
+// |31.....2|1......0|
// [ next | type |
class Displacement BASE_EMBEDDED {
public:
enum Type {
UNCONDITIONAL_JUMP,
+ CODE_RELATIVE,
OTHER
};
@@ -313,8 +316,8 @@
private:
int data_;
- class TypeField: public BitField<Type, 0, 1> {};
- class NextField: public BitField<int, 1, 32-1> {};
+ class TypeField: public BitField<Type, 0, 2> {};
+ class NextField: public BitField<int, 2, 32-2> {};
void init(Label* L, Type type);
};
@@ -440,10 +443,14 @@
void push(const Immediate& x);
void push(Register src);
void push(const Operand& src);
+ void push(Label* label, RelocInfo::Mode relocation_mode);
void pop(Register dst);
void pop(const Operand& dst);
+ void enter(const Immediate& size);
+ void leave();
+
// Moves
void mov_b(Register dst, const Operand& src);
void mov_b(const Operand& dst, int8_t imm8);
@@ -491,6 +498,9 @@
void cmp(Register reg, const Operand& op);
void cmp(const Operand& op, const Immediate& imm);
+ void rep_cmpsb();
+ void rep_cmpsw();
+
void dec_b(Register dst);
void dec(Register dst);
@@ -535,6 +545,7 @@
void shr(Register dst, uint8_t imm8);
void shr(Register dst);
+ void shr_cl(Register dst);
void sub(const Operand& dst, const Immediate& x);
void sub(Register dst, const Operand& src);
@@ -550,6 +561,7 @@
void xor_(const Operand& dst, const Immediate& x);
// Bit operations.
+ void bt(const Operand& dst, Register src);
void bts(const Operand& dst, Register src);
// Miscellaneous
@@ -558,7 +570,6 @@
void nop();
void rdtsc();
void ret(int imm16);
- void leave();
// Label operations & relative jumps (PPUM Appendix D)
//
@@ -748,6 +759,7 @@
inline void emit(Handle<Object> handle);
inline void emit(uint32_t x, RelocInfo::Mode rmode);
inline void emit(const Immediate& x);
+ inline void emit_w(const Immediate& x);
// instruction generation
void emit_arith_b(int op1, int op2, Register dst, int imm8);

Powered by Google App Engine
This is Rietveld 408576698