X87: Reland "Merge cellspace into old pointer space".
port 4bd9bdbb28
(r27751)
original commit message:
BUG=
Review URL: https://codereview.chromium.org/1051323003
Cr-Commit-Position: refs/heads/master@{#27778}
This commit is contained in:
parent
13b722b666
commit
d93a0029dc
@ -205,6 +205,7 @@ Cell* RelocInfo::target_cell() {
|
||||
void RelocInfo::set_target_cell(Cell* cell,
|
||||
WriteBarrierMode write_barrier_mode,
|
||||
ICacheFlushMode icache_flush_mode) {
|
||||
DCHECK(cell->IsCell());
|
||||
DCHECK(rmode_ == RelocInfo::CELL);
|
||||
Address address = cell->address() + Cell::kValueOffset;
|
||||
Memory::Address_at(pc_) = address;
|
||||
|
@ -2452,6 +2452,12 @@ void InstanceofStub::Generate(MacroAssembler* masm) {
|
||||
}
|
||||
__ mov(scratch, Operand(scratch, kDeltaToCmpImmediate));
|
||||
__ mov(Operand(scratch, 0), map);
|
||||
__ push(map);
|
||||
// Scratch points at the cell payload. Calculate the start of the object.
|
||||
__ sub(scratch, Immediate(Cell::kValueOffset - 1));
|
||||
__ RecordWriteField(scratch, Cell::kValueOffset, map, function,
|
||||
kDontSaveFPRegs, OMIT_REMEMBERED_SET, OMIT_SMI_CHECK);
|
||||
__ pop(map);
|
||||
}
|
||||
|
||||
// Loop through the prototype chain of the object looking for the function
|
||||
|
Loading…
Reference in New Issue
Block a user