OLD | NEW |
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 6152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6163 LookupResult result; | 6163 LookupResult result; |
6164 LocalLookupRealNamedProperty(name, &result); | 6164 LocalLookupRealNamedProperty(name, &result); |
6165 if (result.IsValid()) return GetProperty(receiver, &result, name, attributes); | 6165 if (result.IsValid()) return GetProperty(receiver, &result, name, attributes); |
6166 // Continue searching via the prototype chain. | 6166 // Continue searching via the prototype chain. |
6167 Object* pt = GetPrototype(); | 6167 Object* pt = GetPrototype(); |
6168 *attributes = ABSENT; | 6168 *attributes = ABSENT; |
6169 if (pt == Heap::null_value()) return Heap::undefined_value(); | 6169 if (pt == Heap::null_value()) return Heap::undefined_value(); |
6170 return pt->GetPropertyWithReceiver(receiver, name, attributes); | 6170 return pt->GetPropertyWithReceiver(receiver, name, attributes); |
6171 } | 6171 } |
6172 | 6172 |
| 6173 Object* JSObject::GetLocalPropertyPostInterceptor( |
| 6174 JSObject* receiver, |
| 6175 String* name, |
| 6176 PropertyAttributes* attributes) { |
| 6177 // Check local property in holder, ignore interceptor. |
| 6178 LookupResult result; |
| 6179 LocalLookupRealNamedProperty(name, &result); |
| 6180 if (!result.IsValid()) return Heap::undefined_value(); |
| 6181 return GetProperty(receiver, &result, name, attributes); |
| 6182 } |
| 6183 |
6173 | 6184 |
6174 Object* JSObject::GetPropertyWithInterceptor( | 6185 Object* JSObject::GetPropertyWithInterceptor( |
6175 JSObject* receiver, | 6186 JSObject* receiver, |
6176 String* name, | 6187 String* name, |
6177 PropertyAttributes* attributes) { | 6188 PropertyAttributes* attributes) { |
6178 InterceptorInfo* interceptor = GetNamedInterceptor(); | 6189 InterceptorInfo* interceptor = GetNamedInterceptor(); |
6179 HandleScope scope; | 6190 HandleScope scope; |
6180 Handle<JSObject> receiver_handle(receiver); | 6191 Handle<JSObject> receiver_handle(receiver); |
6181 Handle<JSObject> holder_handle(this); | 6192 Handle<JSObject> holder_handle(this); |
6182 Handle<String> name_handle(name); | 6193 Handle<String> name_handle(name); |
(...skipping 2010 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8193 if (break_point_objects()->IsUndefined()) return 0; | 8204 if (break_point_objects()->IsUndefined()) return 0; |
8194 // Single beak point. | 8205 // Single beak point. |
8195 if (!break_point_objects()->IsFixedArray()) return 1; | 8206 if (!break_point_objects()->IsFixedArray()) return 1; |
8196 // Multiple break points. | 8207 // Multiple break points. |
8197 return FixedArray::cast(break_point_objects())->length(); | 8208 return FixedArray::cast(break_point_objects())->length(); |
8198 } | 8209 } |
8199 #endif | 8210 #endif |
8200 | 8211 |
8201 | 8212 |
8202 } } // namespace v8::internal | 8213 } } // namespace v8::internal |
OLD | NEW |