[maglev] Fix acquiring a double in a loop
Bug: v8:7700 Change-Id: I230f2dacf5a63e59a7644fb670540e28df200ed7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4198151 Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Darius Mercadier <dmercadier@chromium.org> Cr-Commit-Position: refs/heads/main@{#85520}
This commit is contained in:
parent
a1ab842dbe
commit
b9a0abd23e
@ -982,6 +982,7 @@ void LoadPolymorphicTaggedField::GenerateCode(MaglevAssembler* masm,
|
||||
Register result_reg = ToRegister(result());
|
||||
Register object = ToRegister(object_input());
|
||||
Register object_map = temps.Acquire();
|
||||
DoubleRegister double_scratch = temps.AcquireDouble();
|
||||
|
||||
Label done;
|
||||
Label is_number;
|
||||
@ -1010,7 +1011,6 @@ void LoadPolymorphicTaggedField::GenerateCode(MaglevAssembler* masm,
|
||||
case compiler::PropertyAccessInfo::kFastDataConstant: {
|
||||
__ LoadDataField(access_info, result_reg, object, object_map);
|
||||
if (access_info.field_index().is_double()) {
|
||||
DoubleRegister double_scratch = temps.AcquireDouble();
|
||||
__ LoadHeapNumberValue(double_scratch, result_reg);
|
||||
__ AllocateHeapNumber(register_snapshot(), result_reg,
|
||||
double_scratch);
|
||||
|
Loading…
Reference in New Issue
Block a user