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.