Index: src/ic.cc |
diff --git a/src/ic.cc b/src/ic.cc |
index 55d2d0b42c173cafe3daf7faac40f1bbf7894bc2..fbe77b09d23fa7daccabb0a842ae49221adf9b77 100644 |
--- a/src/ic.cc |
+++ b/src/ic.cc |
@@ -1612,6 +1612,12 @@ MaybeObject* KeyedStoreIC::Store(State state, |
if (key->IsSymbol()) { |
Handle<String> name = Handle<String>::cast(key); |
+ // Handle proxies. |
+ if (object->IsJSProxy()) { |
+ return JSProxy::cast(*object)->SetProperty( |
+ *name, *value, NONE, strict_mode); |
+ } |
+ |
// If the object is undefined or null it's illegal to try to set any |
// properties on it; throw a TypeError in that case. |
if (object->IsUndefined() || object->IsNull()) { |