Commit 344d9057 authored by palfia@homejinni.com's avatar palfia@homejinni.com

MIPS: Omit smi-check for write-barrier unless tagged.

Port r14767 (40dd85ec)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent ae74636c
......@@ -571,6 +571,8 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
index -= object->map()->inobject_properties();
// TODO(verwaest): Share this code as a code stub.
SmiCheck smi_check = representation.IsTagged()
? INLINE_SMI_CHECK : OMIT_SMI_CHECK;
if (index < 0) {
// Set the property straight into the object.
int offset = object->map()->instance_size() + (index * kPointerSize);
......@@ -596,7 +598,9 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
name_reg,
scratch1,
kRAHasNotBeenSaved,
kDontSaveFPRegs);
kDontSaveFPRegs,
EMIT_REMEMBERED_SET,
smi_check);
}
} else {
// Write to the properties array.
......@@ -626,7 +630,9 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
name_reg,
receiver_reg,
kRAHasNotBeenSaved,
kDontSaveFPRegs);
kDontSaveFPRegs,
EMIT_REMEMBERED_SET,
smi_check);
}
}
......@@ -715,6 +721,8 @@ void StubCompiler::GenerateStoreField(MacroAssembler* masm,
}
// TODO(verwaest): Share this code as a code stub.
SmiCheck smi_check = representation.IsTagged()
? INLINE_SMI_CHECK : OMIT_SMI_CHECK;
if (index < 0) {
// Set the property straight into the object.
int offset = object->map()->instance_size() + (index * kPointerSize);
......@@ -732,7 +740,9 @@ void StubCompiler::GenerateStoreField(MacroAssembler* masm,
name_reg,
scratch1,
kRAHasNotBeenSaved,
kDontSaveFPRegs);
kDontSaveFPRegs,
EMIT_REMEMBERED_SET,
smi_check);
}
} else {
// Write to the properties array.
......@@ -754,7 +764,9 @@ void StubCompiler::GenerateStoreField(MacroAssembler* masm,
name_reg,
receiver_reg,
kRAHasNotBeenSaved,
kDontSaveFPRegs);
kDontSaveFPRegs,
EMIT_REMEMBERED_SET,
smi_check);
}
}
......
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