Reviewers: danno, Toon Verwaest, Paul Lind, palfia, kisg,

Description:
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


Please review this at https://codereview.chromium.org/18118010/

SVN Base: https://github.com/v8/v8.git@gbl

Affected files:
  M src/mips/stub-cache-mips.cc


Index: src/mips/stub-cache-mips.cc
diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc
index c0924985a751dc8c7d2a66e1d2178d922839dd84..31e4e4479425409fb5155853fa552504044553f2 100644
--- a/src/mips/stub-cache-mips.cc
+++ b/src/mips/stub-cache-mips.cc
@@ -594,9 +594,6 @@ void StubCompiler::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.
       // Pass the now unused name_reg as a scratch register.
       if (!FLAG_track_double_fields || !representation.IsDouble()) {
@@ -626,9 +623,6 @@ void StubCompiler::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.
       // Ok to clobber receiver_reg and name_reg, since we return.
       if (!FLAG_track_double_fields || !representation.IsDouble()) {


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to