Revision: 15390
Author: [email protected]
Date: Fri Jun 28 08:26:01 2013
Log: Use macros instead of using number directly for x64
[email protected]
Review URL: https://codereview.chromium.org/18076002
Patch from Weiliang Lin <[email protected]>.
http://code.google.com/p/v8/source/detail?r=15390
Modified:
/branches/bleeding_edge/src/x64/code-stubs-x64.cc
/branches/bleeding_edge/src/x64/codegen-x64.cc
/branches/bleeding_edge/src/x64/macro-assembler-x64.cc
=======================================
--- /branches/bleeding_edge/src/x64/code-stubs-x64.cc Fri Jun 28 06:40:41
2013
+++ /branches/bleeding_edge/src/x64/code-stubs-x64.cc Fri Jun 28 08:26:01
2013
@@ -1558,7 +1558,8 @@
char* elem_in1 = reinterpret_cast<char*>(&(test_elem[0].in[1]));
char* elem_out = reinterpret_cast<char*>(&(test_elem[0].output));
// Two uint_32's and a pointer per element.
- CHECK_EQ(16, static_cast<int>(elem2_start - elem_start));
+ CHECK_EQ(2 * kIntSize + 1 * kPointerSize,
+ static_cast<int>(elem2_start - elem_start));
CHECK_EQ(0, static_cast<int>(elem_in0 - elem_start));
CHECK_EQ(kIntSize, static_cast<int>(elem_in1 - elem_start));
CHECK_EQ(2 * kIntSize, static_cast<int>(elem_out - elem_start));
@@ -5111,17 +5112,17 @@
// Don't enter the rep movs if there are less than 4 bytes to copy.
Label last_bytes;
- __ testl(count, Immediate(~7));
+ __ testl(count, Immediate(~(kPointerSize - 1)));
__ j(zero, &last_bytes, Label::kNear);
// Copy from edi to esi using rep movs instruction.
__ movl(kScratchRegister, count);
- __ shr(count, Immediate(3)); // Number of doublewords to copy.
+ __ shr(count, Immediate(kPointerSizeLog2)); // Number of doublewords to
copy.
__ repmovsq();
// Find number of bytes left.
__ movl(count, kScratchRegister);
- __ and_(count, Immediate(7));
+ __ and_(count, Immediate(kPointerSize - 1));
// Check if there are more bytes to copy.
__ bind(&last_bytes);
=======================================
--- /branches/bleeding_edge/src/x64/codegen-x64.cc Fri Jun 21 05:57:19 2013
+++ /branches/bleeding_edge/src/x64/codegen-x64.cc Fri Jun 28 08:26:01 2013
@@ -735,7 +735,11 @@
Code* stub = GetCodeAgeStub(age, parity);
CodePatcher patcher(sequence, young_length);
patcher.masm()->call(stub->instruction_start());
- patcher.masm()->nop();
+ for (int i = 0;
+ i < kNoCodeAgeSequenceLength -
Assembler::kShortCallInstructionLength;
+ i++) {
+ patcher.masm()->nop();
+ }
}
}
=======================================
--- /branches/bleeding_edge/src/x64/macro-assembler-x64.cc Thu Jun 27
06:39:44 2013
+++ /branches/bleeding_edge/src/x64/macro-assembler-x64.cc Fri Jun 28
08:26:01 2013
@@ -4216,12 +4216,12 @@
// we keep source aligned for the rep movs operation by copying the odd
bytes
// at the end of the ranges.
movq(scratch, length);
- shrl(length, Immediate(3));
+ shrl(length, Immediate(kPointerSizeLog2));
repmovsq();
// Move remaining bytes of length.
- andl(scratch, Immediate(0x7));
- movq(length, Operand(source, scratch, times_1, -8));
- movq(Operand(destination, scratch, times_1, -8), length);
+ andl(scratch, Immediate(kPointerSize - 1));
+ movq(length, Operand(source, scratch, times_1, -kPointerSize));
+ movq(Operand(destination, scratch, times_1, -kPointerSize), length);
addq(destination, scratch);
if (min_length <= kLongStringLimit) {
--
--
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.