Reviewers: Toon Verwaest,

Message:
Hi Toon,

This is a follow-up of https://codereview.chromium.org/137443004 and
https://codereview.chromium.org/105503006.

I examined the movp usage under _WIN64 macro and found them should be movq.
Windows does not support x32 ABI, so I tried my best to make them consistent
with Linux x32. Sorry they are not included in the
https://codereview.chromium.org/137443004 and
https://codereview.chromium.org/105503006.

Thanks
-Haitao

Description:
Revert some movq->movp changes under the _WIN64 macro for X64

Please review this at https://codereview.chromium.org/132233027/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+10, -10 lines):
  M src/x64/codegen-x64.cc
  M src/x64/deoptimizer-x64.cc


Index: src/x64/codegen-x64.cc
diff --git a/src/x64/codegen-x64.cc b/src/x64/codegen-x64.cc
index 703183710315e1850c65a6dd5d2a2de72cd2fda0..6c696c45841839ee655dafaa35945915740295db 100644
--- a/src/x64/codegen-x64.cc
+++ b/src/x64/codegen-x64.cc
@@ -131,10 +131,10 @@ ModuloFunction CreateModuloFunction() {

   // Compute x mod y.
   // Load y and x (use argument backing store as temporary storage).
-  __ movsd(Operand(rsp, kPointerSize * 2), xmm1);
-  __ movsd(Operand(rsp, kPointerSize), xmm0);
-  __ fld_d(Operand(rsp, kPointerSize * 2));
-  __ fld_d(Operand(rsp, kPointerSize));
+  __ movsd(Operand(rsp, kRegisterSize * 2), xmm1);
+  __ movsd(Operand(rsp, kRegisterSize), xmm0);
+  __ fld_d(Operand(rsp, kRegisterSize * 2));
+  __ fld_d(Operand(rsp, kRegisterSize));

   // Clear exception flags before operation.
   {
@@ -170,14 +170,14 @@ ModuloFunction CreateModuloFunction() {
   __ fstp(0);  // Drop result in st(0).
   int64_t kNaNValue = V8_INT64_C(0x7ff8000000000000);
   __ movq(rcx, kNaNValue);
-  __ movp(Operand(rsp, kPointerSize), rcx);
-  __ movsd(xmm0, Operand(rsp, kPointerSize));
+  __ movq(Operand(rsp, kRegisterSize), rcx);
+  __ movsd(xmm0, Operand(rsp, kRegisterSize));
   __ jmp(&return_result);

   // If result is valid, return that.
   __ bind(&valid_result);
-  __ fstp_d(Operand(rsp, kPointerSize));
-  __ movsd(xmm0, Operand(rsp, kPointerSize));
+  __ fstp_d(Operand(rsp, kRegisterSize));
+  __ movsd(xmm0, Operand(rsp, kRegisterSize));

   // Clean up FPU stack and exceptions and return xmm0
   __ bind(&return_result);
Index: src/x64/deoptimizer-x64.cc
diff --git a/src/x64/deoptimizer-x64.cc b/src/x64/deoptimizer-x64.cc
index 1094dabf8e83ed07d0c27e45d824d0a07e7b920b..0d47cae364d560dedbf450272fbd0a9edbe573ad 100644
--- a/src/x64/deoptimizer-x64.cc
+++ b/src/x64/deoptimizer-x64.cc
@@ -186,9 +186,9 @@ void Deoptimizer::EntryGenerator::Generate() {
   // On windows put the arguments on the stack (PrepareCallCFunction
   // has created space for this). On linux pass the arguments in r8 and r9.
 #ifdef _WIN64
-  __ movp(Operand(rsp, 4 * kPointerSize), arg5);
+  __ movq(Operand(rsp, 4 * kRegisterSize), arg5);
   __ LoadAddress(arg5, ExternalReference::isolate_address(isolate()));
-  __ movp(Operand(rsp, 5 * kPointerSize), arg5);
+  __ movq(Operand(rsp, 5 * kRegisterSize), arg5);
 #else
   __ movp(r8, arg5);
   __ LoadAddress(r9, ExternalReference::isolate_address(isolate()));


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to