Index: src/accessors.cc |
diff --git a/src/accessors.cc b/src/accessors.cc |
index 25ee3059abe33118daf39b24768b0f25582e21d5..47b0a856332e24cec0b4ff7e8ab0666d20ca9dc2 100644 |
--- a/src/accessors.cc |
+++ b/src/accessors.cc |
@@ -91,12 +91,15 @@ static V8_INLINE bool CheckForName(Handle<String> name, |
} |
-bool Accessors::IsJSObjectFieldAccessor(Handle<HeapType> type, |
+// Returns true for properties that are accessors to object fields. |
+// If true, *object_offset contains offset of object field. |
+template <class T> |
+bool Accessors::IsJSObjectFieldAccessor(typename T::TypeHandle type, |
Handle<String> name, |
int* object_offset) { |
Isolate* isolate = name->GetIsolate(); |
- if (type->Is(HeapType::String())) { |
+ if (type->Is(T::String())) { |
return CheckForName(name, isolate->heap()->length_string(), |
String::kLengthOffset, object_offset); |
} |
@@ -137,6 +140,18 @@ bool Accessors::IsJSObjectFieldAccessor(Handle<HeapType> type, |
} |
+template |
+bool Accessors::IsJSObjectFieldAccessor<Type>(Type* type, |
+ Handle<String> name, |
+ int* object_offset); |
+ |
+ |
+template |
+bool Accessors::IsJSObjectFieldAccessor<HeapType>(Handle<HeapType> type, |
+ Handle<String> name, |
+ int* object_offset); |
+ |
+ |
// |
// Accessors::ArrayLength |
// |