Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 5ad67c98b3c1453518f8b0cd7fc14ad7f5cbe6ac..c841a804d930e12729eba703322c52ffb1a6ba50 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -3530,6 +3530,7 @@ ACCESSORS(AccessorInfo, setter, Object, kSetterOffset) |
ACCESSORS(AccessorInfo, data, Object, kDataOffset) |
ACCESSORS(AccessorInfo, name, Object, kNameOffset) |
ACCESSORS_TO_SMI(AccessorInfo, flag, kFlagOffset) |
+ACCESSORS(AccessorInfo, compatible, Object, kCompatibleOffset) |
ACCESSORS(AccessorPair, getter, Object, kGetterOffset) |
ACCESSORS(AccessorPair, setter, Object, kSetterOffset) |
@@ -4741,6 +4742,13 @@ void AccessorInfo::set_property_attributes(PropertyAttributes attributes) { |
} |
+bool AccessorInfo::IsCompatibleReceiver(Object* receiver) { |
+ Object* function_template = compatible(); |
+ if (!function_template->IsFunctionTemplateInfo()) return true; |
+ return receiver->IsInstanceOf(FunctionTemplateInfo::cast(function_template)); |
+} |
+ |
+ |
template<typename Shape, typename Key> |
void Dictionary<Shape, Key>::SetEntry(int entry, |
Object* key, |