Index: src/contexts.h |
diff --git a/src/contexts.h b/src/contexts.h |
index 3b4b7992c099bbc5f7393fc37d7fa5549284e119..4fe0621e04c5efc4d4234dc509e161cf1fb0d522 100644 |
--- a/src/contexts.h |
+++ b/src/contexts.h |
@@ -582,17 +582,16 @@ class Context: public FixedArray { |
} |
if (IsConstructor(kind)) { |
- return is_strong(language_mode) ? STRONG_CONSTRUCTOR_MAP_INDEX : |
- is_strict(language_mode) ? STRICT_FUNCTION_MAP_INDEX |
- : SLOPPY_FUNCTION_MAP_INDEX; |
+ // Use strict function map (no own "caller" / "arguments") |
+ return is_strong(language_mode) ? STRONG_CONSTRUCTOR_MAP_INDEX |
+ : STRICT_FUNCTION_MAP_INDEX; |
} |
if (IsArrowFunction(kind) || IsConciseMethod(kind) || |
IsAccessorFunction(kind)) { |
- return is_strong(language_mode) ? STRONG_FUNCTION_MAP_INDEX : |
- is_strict(language_mode) ? |
- STRICT_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX : |
- SLOPPY_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX; |
+ return is_strong(language_mode) |
+ ? STRONG_FUNCTION_MAP_INDEX |
+ : STRICT_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX; |
} |
return is_strong(language_mode) ? STRONG_FUNCTION_MAP_INDEX : |