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 |