Reviewers: ulan,
Message:
PTAL
Description:
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://chromiumcodereview.appspot.com/18854018/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/arm/stub-cache-arm.cc
Index: src/arm/stub-cache-arm.cc
diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc
index
00020f803352d21fc04d9aae306d101d8099c02e..3bec1c5af1afd17ad117cdd7e9a62dd4726006b3
100644
--- a/src/arm/stub-cache-arm.cc
+++ b/src/arm/stub-cache-arm.cc
@@ -570,9 +570,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);
@@ -599,9 +596,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);
--
--
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.