Reviewers: Lasse Reichstein,
Message:
Lasse, may you have a look?
I am not quite versed in x64 ways and hope of this change is correct it
won't
introduce perf regression.
Description:
Turn {mov,add}q into {mov,add}l.
All the cases fixed are safe as registers hold 32-bit value, but that looks
safer to operate on proper sizes.
Please review this at http://codereview.chromium.org/2017002/show
Affected files:
M src/x64/codegen-x64.cc
M src/x64/stub-cache-x64.cc
Index: src/x64/codegen-x64.cc
diff --git a/src/x64/codegen-x64.cc b/src/x64/codegen-x64.cc
index
0fdef25c67b39c496e161329e1b2179b1e34de97..55fb03d43b1036f70c00d920150bc0b14df4cd74
100644
--- a/src/x64/codegen-x64.cc
+++ b/src/x64/codegen-x64.cc
@@ -4392,7 +4392,7 @@ void
CodeGenerator::GenerateRegExpConstructResult(ZoneList<Expression*>* args) {
__ Move(FieldOperand(rcx, HeapObject::kMapOffset),
Factory::fixed_array_map());
// Set length.
- __ movq(FieldOperand(rcx, FixedArray::kLengthOffset), rbx);
+ __ movl(FieldOperand(rcx, FixedArray::kLengthOffset), rbx);
// Fill contents of fixed-array with the-hole.
__ Move(rdx, Factory::the_hole_value());
__ lea(rcx, FieldOperand(rcx, FixedArray::kHeaderSize));
@@ -8954,7 +8954,7 @@ void
ArgumentsAccessStub::GenerateNewObject(MacroAssembler* masm) {
__ movq(FieldOperand(rax, JSObject::kElementsOffset), rdi);
__ LoadRoot(kScratchRegister, Heap::kFixedArrayMapRootIndex);
__ movq(FieldOperand(rdi, FixedArray::kMapOffset), kScratchRegister);
- __ movq(FieldOperand(rdi, FixedArray::kLengthOffset), rcx);
+ __ movl(FieldOperand(rdi, FixedArray::kLengthOffset), rcx);
// Copy the fixed array slots.
Label loop;
Index: src/x64/stub-cache-x64.cc
diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc
index
dbe1c28e4fe81e9dde0eb358af0f5708927926e0..384bca189286cd27b2eacc7bb490f3dd68d76821
100644
--- a/src/x64/stub-cache-x64.cc
+++ b/src/x64/stub-cache-x64.cc
@@ -1194,7 +1194,7 @@ Object*
CallStubCompiler::CompileArrayPushCall(Object* object,
__ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize));
// Increment element's and array's sizes.
- __ addq(FieldOperand(rbx, FixedArray::kLengthOffset),
+ __ addl(FieldOperand(rbx, FixedArray::kLengthOffset),
Immediate(kAllocationDelta));
__ movq(FieldOperand(rdx, JSArray::kLengthOffset), rax);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev