MIPS: Do not omit the write-barrier if the input value is a smi.
Port r15573 (3954d53) Original commit message: ARM: Do not omit the write-barrier if the input value is a smi. The input value isn't what is written into the field if the representation is double. A heap-number is written to the field instead; which requires a write-barrier. BUG=chromium:254570 Review URL: https://codereview.chromium.org/18118010 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
17e228d3dd
commit
b7a2c88f0f
@ -560,9 +560,6 @@ void BaseStoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm,
|
||||
}
|
||||
|
||||
if (!FLAG_track_fields || !representation.IsSmi()) {
|
||||
// Skip updating write barrier if storing a smi.
|
||||
__ JumpIfSmi(value_reg, &exit);
|
||||
|
||||
// Update the write barrier for the array address.
|
||||
if (!FLAG_track_double_fields || !representation.IsDouble()) {
|
||||
__ mov(storage_reg, value_reg);
|
||||
@ -589,9 +586,6 @@ void BaseStoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm,
|
||||
}
|
||||
|
||||
if (!FLAG_track_fields || !representation.IsSmi()) {
|
||||
// Skip updating write barrier if storing a smi.
|
||||
__ JumpIfSmi(value_reg, &exit);
|
||||
|
||||
// Update the write barrier for the array address.
|
||||
if (!FLAG_track_double_fields || !representation.IsDouble()) {
|
||||
__ mov(storage_reg, value_reg);
|
||||
|
Loading…
Reference in New Issue
Block a user