| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 1182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1193 | 1193 |
| 1194 // Retrieve interceptors. | 1194 // Retrieve interceptors. |
| 1195 InterceptorInfo* GetNamedInterceptor(); | 1195 InterceptorInfo* GetNamedInterceptor(); |
| 1196 InterceptorInfo* GetIndexedInterceptor(); | 1196 InterceptorInfo* GetIndexedInterceptor(); |
| 1197 | 1197 |
| 1198 inline PropertyAttributes GetPropertyAttribute(String* name); | 1198 inline PropertyAttributes GetPropertyAttribute(String* name); |
| 1199 PropertyAttributes GetPropertyAttributeWithReceiver(JSObject* receiver, | 1199 PropertyAttributes GetPropertyAttributeWithReceiver(JSObject* receiver, |
| 1200 String* name); | 1200 String* name); |
| 1201 PropertyAttributes GetLocalPropertyAttribute(String* name); | 1201 PropertyAttributes GetLocalPropertyAttribute(String* name); |
| 1202 | 1202 |
| 1203 // Defines an accessor. This may violate some of the assumptions we | |
| 1204 // make when setting up ics so unless it is guaranteed that no ics | |
| 1205 // exist for this property we have to clear all ics. Set the 'never_used' | |
| 1206 // flag to true if you know there can be no ics. | |
| 1207 Object* DefineAccessor(String* name, bool is_getter, JSFunction* fun, | 1203 Object* DefineAccessor(String* name, bool is_getter, JSFunction* fun, |
| 1208 PropertyAttributes attributes, bool never_used); | 1204 PropertyAttributes attributes); |
| 1209 | |
| 1210 Object* LookupAccessor(String* name, bool is_getter); | 1205 Object* LookupAccessor(String* name, bool is_getter); |
| 1211 | 1206 |
| 1212 // Used from Object::GetProperty(). | 1207 // Used from Object::GetProperty(). |
| 1213 Object* GetPropertyWithFailedAccessCheck(Object* receiver, | 1208 Object* GetPropertyWithFailedAccessCheck(Object* receiver, |
| 1214 LookupResult* result, | 1209 LookupResult* result, |
| 1215 String* name, | 1210 String* name, |
| 1216 PropertyAttributes* attributes); | 1211 PropertyAttributes* attributes); |
| 1217 Object* GetPropertyWithInterceptor(JSObject* receiver, | 1212 Object* GetPropertyWithInterceptor(JSObject* receiver, |
| 1218 String* name, | 1213 String* name, |
| 1219 PropertyAttributes* attributes); | 1214 PropertyAttributes* attributes); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1271 Object* GetElementWithReceiver(JSObject* receiver, uint32_t index); | 1266 Object* GetElementWithReceiver(JSObject* receiver, uint32_t index); |
| 1272 | 1267 |
| 1273 void SetFastElements(FixedArray* elements); | 1268 void SetFastElements(FixedArray* elements); |
| 1274 Object* SetSlowElements(Object* length); | 1269 Object* SetSlowElements(Object* length); |
| 1275 | 1270 |
| 1276 // Lookup interceptors are used for handling properties controlled by host | 1271 // Lookup interceptors are used for handling properties controlled by host |
| 1277 // objects. | 1272 // objects. |
| 1278 inline bool HasNamedInterceptor(); | 1273 inline bool HasNamedInterceptor(); |
| 1279 inline bool HasIndexedInterceptor(); | 1274 inline bool HasIndexedInterceptor(); |
| 1280 | 1275 |
| 1281 bool HasLocalPropertyWithType(PropertyType type); | |
| 1282 | |
| 1283 // Support functions for v8 api (needed for correct interceptor behavior). | 1276 // Support functions for v8 api (needed for correct interceptor behavior). |
| 1284 bool HasRealNamedProperty(String* key); | 1277 bool HasRealNamedProperty(String* key); |
| 1285 bool HasRealElementProperty(uint32_t index); | 1278 bool HasRealElementProperty(uint32_t index); |
| 1286 bool HasRealNamedCallbackProperty(String* key); | 1279 bool HasRealNamedCallbackProperty(String* key); |
| 1287 | 1280 |
| 1288 // Initializes the array to a certain length | 1281 // Initializes the array to a certain length |
| 1289 Object* SetElementsLength(Object* length); | 1282 Object* SetElementsLength(Object* length); |
| 1290 | 1283 |
| 1291 // Get the header size for a JSObject. Used to compute the index of | 1284 // Get the header size for a JSObject. Used to compute the index of |
| 1292 // internal fields as well as the number of internal fields. | 1285 // internal fields as well as the number of internal fields. |
| (...skipping 3015 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4308 } else { | 4301 } else { |
| 4309 value &= ~(1 << bit_position); | 4302 value &= ~(1 << bit_position); |
| 4310 } | 4303 } |
| 4311 return value; | 4304 return value; |
| 4312 } | 4305 } |
| 4313 }; | 4306 }; |
| 4314 | 4307 |
| 4315 } } // namespace v8::internal | 4308 } } // namespace v8::internal |
| 4316 | 4309 |
| 4317 #endif // V8_OBJECTS_H_ | 4310 #endif // V8_OBJECTS_H_ |
| OLD | NEW |