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
This commit is contained in:
parent
ae74636c9e
commit
344d9057d4
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user