Reviewers: Michael Starzinger,
Description:
Version 3.25.28.13 (partial merge of r20839)
Fix Object.observe() notifications from Array.push()/Array.pop()
[email protected]
LOG=N
Please review this at https://codereview.chromium.org/247073002/
SVN Base: https://v8.googlecode.com/svn/branches/3.25
Affected files (+4, -0 lines):
M src/hydrogen.cc
Index: src/hydrogen.cc
diff --git a/src/hydrogen.cc b/src/hydrogen.cc
index
a7ef0cbd056c5b99f7ce490ad1b0d4f2df4f5295..e9779fd0e31d3ec7823089b4924b84a8e667a7a2
100644
--- a/src/hydrogen.cc
+++ b/src/hydrogen.cc
@@ -7596,6 +7596,8 @@ bool
HOptimizedGraphBuilder::TryInlineBuiltinMethodCall(
if (receiver_map->instance_type() != JS_ARRAY_TYPE) return false;
ElementsKind elements_kind = receiver_map->elements_kind();
if (!IsFastElementsKind(elements_kind)) return false;
+ if (receiver_map->is_observed()) return false;
+ ASSERT(receiver_map->is_extensible());
Drop(expr->arguments()->length());
HValue* result;
@@ -7658,6 +7660,8 @@ bool
HOptimizedGraphBuilder::TryInlineBuiltinMethodCall(
if (receiver_map->instance_type() != JS_ARRAY_TYPE) return false;
ElementsKind elements_kind = receiver_map->elements_kind();
if (!IsFastElementsKind(elements_kind)) return false;
+ if (receiver_map->is_observed()) return false;
+ ASSERT(receiver_map->is_extensible());
HValue* op_vals[] = {
context(),
--
--
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/d/optout.