X87: [builtins] Don't put doubles on the stack in ConstructWithSpread.
port ee9c709190
(r42561)
original commit message:
FAST_DOUBLE_ELEMENTS and FAST_HOLEY_DOUBLE_ELEMENTS kinds should both
be handled by the runtime.
BUG=
Review-Url: https://codereview.chromium.org/2649053002
Cr-Commit-Position: refs/heads/master@{#42592}
This commit is contained in:
parent
6435c2343c
commit
68289fd9f5
@ -2887,15 +2887,13 @@ void Builtins::Generate_ConstructWithSpread(MacroAssembler* masm) {
|
||||
Label no_protector_check;
|
||||
__ mov(scratch, FieldOperand(spread_map, Map::kBitField2Offset));
|
||||
__ DecodeField<Map::ElementsKindBits>(scratch);
|
||||
__ cmp(scratch, Immediate(LAST_FAST_ELEMENTS_KIND));
|
||||
__ cmp(scratch, Immediate(FAST_HOLEY_ELEMENTS));
|
||||
__ j(above, &runtime_call);
|
||||
// For non-FastHoley kinds, we can skip the protector check.
|
||||
__ cmp(scratch, Immediate(FAST_SMI_ELEMENTS));
|
||||
__ j(equal, &no_protector_check);
|
||||
__ cmp(scratch, Immediate(FAST_ELEMENTS));
|
||||
__ j(equal, &no_protector_check);
|
||||
__ cmp(scratch, Immediate(FAST_DOUBLE_ELEMENTS));
|
||||
__ j(equal, &no_protector_check);
|
||||
// Check the ArrayProtector cell.
|
||||
__ LoadRoot(scratch, Heap::kArrayProtectorRootIndex);
|
||||
__ cmp(FieldOperand(scratch, PropertyCell::kValueOffset),
|
||||
|
Loading…
Reference in New Issue
Block a user