Merge V8 5.3.332.45. DO NOT MERGE
Test: Manual
FPIIM-449
Change-Id: Id3254828b068abdea3cb10442e0172a8c9a98e03
(cherry picked from commit 13e2dadd00298019ed862f2b2fc5068bba730bcf)
diff --git a/src/x87/assembler-x87.h b/src/x87/assembler-x87.h
index eaf28e9..d4cde52 100644
--- a/src/x87/assembler-x87.h
+++ b/src/x87/assembler-x87.h
@@ -122,8 +122,6 @@
Register r = {code};
return r;
}
- const char* ToString();
- bool IsAllocatable() const;
bool is_valid() const { return 0 <= reg_code && reg_code < kNumRegisters; }
bool is(Register reg) const { return reg_code == reg.reg_code; }
int code() const {
@@ -147,6 +145,8 @@
#undef DECLARE_REGISTER
const Register no_reg = {Register::kCode_no_reg};
+static const bool kSimpleFPAliasing = true;
+
struct X87Register {
enum Code {
#define REGISTER_CODE(R) kCode_##R,
@@ -164,7 +164,6 @@
return result;
}
- bool IsAllocatable() const;
bool is_valid() const { return 0 <= reg_code && reg_code < kMaxNumRegisters; }
int code() const {
@@ -174,8 +173,6 @@
bool is(X87Register reg) const { return reg_code == reg.reg_code; }
- const char* ToString();
-
int reg_code;
};
@@ -654,6 +651,14 @@
void xchg_b(Register reg, const Operand& op);
void xchg_w(Register reg, const Operand& op);
+ // Lock prefix
+ void lock();
+
+ // CompareExchange
+ void cmpxchg(const Operand& dst, Register src);
+ void cmpxchg_b(const Operand& dst, Register src);
+ void cmpxchg_w(const Operand& dst, Register src);
+
// Arithmetics
void adc(Register dst, int32_t imm32);
void adc(Register dst, const Operand& src);