Index: src/accessors.cc |
diff --git a/src/accessors.cc b/src/accessors.cc |
index 951209d964c43aabb9c84f4e8eb24fac95d3cd9e..5c6c7ef00db04b90f82ff4f8c1057602f53a0986 100644 |
--- a/src/accessors.cc |
+++ b/src/accessors.cc |
@@ -759,7 +759,12 @@ MaybeObject* Accessors::FunctionGetCaller(Object* object, void*) { |
caller = potential_caller; |
potential_caller = it.next(); |
} |
- |
+ // 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 isolate->heap()->null_value(); |
+ } |
return CheckNonStrictCallerOrThrow(isolate, caller); |
} |