Index: src/accessors.cc |
diff --git a/src/accessors.cc b/src/accessors.cc |
index 2094cdb20db7648f926ec11f5ef0b06e49f700b5..90848146788fd19e0f14a2d2ebb420f9d5a0a805 100644 |
--- a/src/accessors.cc |
+++ b/src/accessors.cc |
@@ -1329,6 +1329,12 @@ |
if (!caller->shared()->native() && potential_caller != NULL) { |
caller = potential_caller; |
} |
+ // If caller is bound, return null. This is compatible with JSC, and |
+ // allows us to make bound functions use the strict function map |
+ // and its associated throwing caller and arguments. |
+ if (caller->shared()->bound()) { |
+ return MaybeHandle<JSFunction>(); |
+ } |
// Censor if the caller is not a sloppy mode function. |
// Change from ES5, which used to throw, see: |
// https://bugs.ecmascript.org/show_bug.cgi?id=310 |