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

Unified Diff: src/x64/assembler-x64.h

Issue 21014003: Optionally use 31-bits SMI value for 64-bit system (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 5 months 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/x64/assembler-x64.h
diff --git a/src/x64/assembler-x64.h b/src/x64/assembler-x64.h
index 07afc129dc82c76b76a5eadb2c6bd3425eb0289e..b329a2d3000180e046c189ca99a1431025e1a996 100644
--- a/src/x64/assembler-x64.h
+++ b/src/x64/assembler-x64.h
@@ -378,6 +378,11 @@ inline Condition ReverseCondition(Condition cc) {
class Immediate BASE_EMBEDDED {
public:
explicit Immediate(int32_t value) : value_(value) {}
+#if V8_USE_31_BITS_SMI_VALUE
+ explicit Immediate(Smi* value) {
danno 2013/07/29 13:02:23 Don't add a Smi* constructor here. The wrapper fun
haitao.feng 2013/07/30 08:56:43 Done.
+ value_ = static_cast<int32_t>(reinterpret_cast<intptr_t>(value));
+ }
+#endif
private:
int32_t value_;
@@ -988,6 +993,12 @@ class Assembler : public AssemblerBase {
shift(dst, imm8, 0x0);
}
+#if V8_USE_31_BITS_SMI_VALUE
danno 2013/07/29 13:02:23 Is there some way to not including this conditiona
haitao.feng 2013/07/30 08:56:43 Done.
+ void roll(Register dst, Immediate imm8) {
+ shift_32(dst, imm8, 0x0);
+ }
+#endif
+
void rcr(Register dst, Immediate imm8) {
shift(dst, imm8, 0x3);
}
@@ -1378,6 +1389,9 @@ class Assembler : public AssemblerBase {
void movmskpd(Register dst, XMMRegister src);
void movmskps(Register dst, XMMRegister src);
+#if V8_USE_31_BITS_SMI_VALUE
+ void pcmpeqd(XMMRegister dst, XMMRegister src);
danno 2013/07/29 13:02:23 Why can't this always be part of the code (no cond
haitao.feng 2013/07/30 08:56:43 Done.
+#endif
// The first argument is the reg field, the second argument is the r/m field.
void emit_sse_operand(XMMRegister dst, XMMRegister src);

Powered by Google App Engine
This is Rietveld 408576698