| 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
|
| //
|
|
|