Commit 35d6012b authored by paul.lind's avatar paul.lind Committed by Commit bot

MIPS64: Fix LoadGlobalViaContextStub

Also make a minor improvement in the mips32 StoreGlobalViaContextStub
and fix some bad comments in the macro-assembler.

BUG=

Review URL: https://codereview.chromium.org/1254153002

Cr-Commit-Position: refs/heads/master@{#29859}
parent 2751cddc
......@@ -5351,8 +5351,8 @@ void StoreGlobalViaContextStub::Generate(MacroAssembler* masm) {
cell_details_reg, kRAHasNotBeenSaved, kDontSaveFPRegs,
EMIT_REMEMBERED_SET, OMIT_SMI_CHECK);
// RecordWriteField clobbers the value register, so we need to reload.
__ Ret(USE_DELAY_SLOT);
__ lw(value_reg, FieldMemOperand(cell_reg, PropertyCell::kValueOffset));
__ Ret();
__ bind(&not_mutable_data);
// Check if PropertyCell value matches the new value (relevant for Constant,
......
......@@ -164,6 +164,9 @@ void MacroAssembler::InNewSpace(Register object,
}
// Clobbers object, dst, value, and ra, if (ra_status == kRAHasBeenSaved)
// The register 'object' contains a heap object pointer. The heap object
// tag is shifted away.
void MacroAssembler::RecordWriteField(
Register object,
int offset,
......@@ -217,8 +220,7 @@ void MacroAssembler::RecordWriteField(
}
// Will clobber 4 registers: object, map, dst, ip. The
// register 'object' contains a heap object pointer.
// Clobbers object, dst, map, and ra, if (ra_status == kRAHasBeenSaved)
void MacroAssembler::RecordWriteForMap(Register object,
Register map,
Register dst,
......@@ -292,8 +294,8 @@ void MacroAssembler::RecordWriteForMap(Register object,
}
// Will clobber 4 registers: object, address, scratch, ip. The
// register 'object' contains a heap object pointer. The heap object
// Clobbers object, address, value, and ra, if (ra_status == kRAHasBeenSaved)
// The register 'object' contains a heap object pointer. The heap object
// tag is shifted away.
void MacroAssembler::RecordWrite(
Register object,
......
......@@ -5310,7 +5310,7 @@ void LoadGlobalViaContextStub::Generate(MacroAssembler* masm) {
// Go up context chain to the script context.
for (int i = 0; i < depth(); ++i) {
__ lw(result_reg, ContextOperand(context_reg, Context::PREVIOUS_INDEX));
__ ld(result_reg, ContextOperand(context_reg, Context::PREVIOUS_INDEX));
context_reg = result_reg;
}
......
......@@ -167,6 +167,9 @@ void MacroAssembler::InNewSpace(Register object,
}
// Clobbers object, dst, value, and ra, if (ra_status == kRAHasBeenSaved)
// The register 'object' contains a heap object pointer. The heap object
// tag is shifted away.
void MacroAssembler::RecordWriteField(
Register object,
int offset,
......@@ -220,8 +223,7 @@ void MacroAssembler::RecordWriteField(
}
// Will clobber 4 registers: object, map, dst, ip. The
// register 'object' contains a heap object pointer.
// Clobbers object, dst, map, and ra, if (ra_status == kRAHasBeenSaved)
void MacroAssembler::RecordWriteForMap(Register object,
Register map,
Register dst,
......@@ -295,8 +297,8 @@ void MacroAssembler::RecordWriteForMap(Register object,
}
// Will clobber 4 registers: object, address, scratch, ip. The
// register 'object' contains a heap object pointer. The heap object
// Clobbers object, address, value, and ra, if (ra_status == kRAHasBeenSaved)
// The register 'object' contains a heap object pointer. The heap object
// tag is shifted away.
void MacroAssembler::RecordWrite(
Register object,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment