Index: src/runtime.js |
diff --git a/src/runtime.js b/src/runtime.js |
index 77b97aed837d654f8f8a3fda74cce5393674c25b..4b600df7360b3431f9a3834937a022e35d1a4648 100644 |
--- a/src/runtime.js |
+++ b/src/runtime.js |
@@ -354,7 +354,8 @@ function IN(x) { |
if (!IS_SPEC_OBJECT(x)) { |
throw %MakeTypeError('invalid_in_operator_use', [this, x]); |
} |
- return %_IsNonNegativeSmi(this) ? %HasElement(x, this) : %HasProperty(x, %ToString(this)); |
+ return %_IsNonNegativeSmi(this) && !%IsJSProxy(x) ? |
+ %HasElement(x, this) : %HasProperty(x, %ToString(this)); |
} |