diff options
author | 2024-10-04 09:18:58 +0000 | |
---|---|---|
committer | 2024-10-07 07:00:16 +0000 | |
commit | c50d67991682a9ae5e6215031a9852bbf018504b (patch) | |
tree | a9b685384873c864fe333fac743d40085ecc8e18 /compiler/optimizing/code_generator.cc | |
parent | 00db5b25da2d2ff8005476c7c735eb4f921d3a56 (diff) |
Reland "Calculate the number of out vregs."
This reverts commit 434a327234f74eed3ef4072314d2e2bdb73e4dda.
Reason for revert: Relanding with no change. The regressions
that were the reason for the revert may reappear. However,
these regressions are probably caused by subtle effects that
are not directly related to this change. For example, a code
size improvement can regress performance simply by moving
the start of a loop from an aligned address to an unaligned
address, or by splitting a loop across two cache lines.
Bug: 358519867
Bug: 359722268
Change-Id: I997b8a4219418f79b3a5fc4e7e50817911f0a737
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r-- | compiler/optimizing/code_generator.cc | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index 757fdc2cee..e805b9ee9e 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -632,11 +632,8 @@ void CodeGenerator::CreateStringBuilderAppendLocations(HStringBuilderAppend* ins stack_offset += sizeof(uint32_t); } DCHECK_EQ(f, 0u); - - size_t param_size = stack_offset - static_cast<size_t>(pointer_size); - DCHECK_ALIGNED(param_size, kVRegSize); - size_t num_vregs = param_size / kVRegSize; - graph_->UpdateMaximumNumberOfOutVRegs(num_vregs); + DCHECK_EQ(stack_offset, + static_cast<size_t>(pointer_size) + kVRegSize * instruction->GetNumberOfOutVRegs()); } void CodeGenerator::CreateUnresolvedFieldLocationSummary( |