OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 2378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2389 public: | 2389 public: |
2390 static inline int SizeOf(Map* map, HeapObject* object); | 2390 static inline int SizeOf(Map* map, HeapObject* object); |
2391 }; | 2391 }; |
2392 | 2392 |
2393 // Enqueue change record for Object.observe. May cause GC. | 2393 // Enqueue change record for Object.observe. May cause GC. |
2394 static void EnqueueChangeRecord(Handle<JSObject> object, | 2394 static void EnqueueChangeRecord(Handle<JSObject> object, |
2395 const char* type, | 2395 const char* type, |
2396 Handle<Name> name, | 2396 Handle<Name> name, |
2397 Handle<Object> old_value); | 2397 Handle<Object> old_value); |
2398 | 2398 |
| 2399 // Enqueue "splice" change record for Object.observe. May cause GC. |
| 2400 static void EnqueueSpliceRecord(Handle<JSObject> object, |
| 2401 uint32_t index, |
| 2402 Handle<JSArray> deleted, |
| 2403 uint32_t delete_count, |
| 2404 uint32_t add_count); |
| 2405 |
| 2406 // Object.getNotifier(this).performChange('splice'). May cause GC. |
| 2407 static void BeginPerformSplice(Handle<JSObject> object); |
| 2408 static void EndPerformSplice(Handle<JSObject> object); |
| 2409 |
2399 // Deliver change records to observers. May cause GC. | 2410 // Deliver change records to observers. May cause GC. |
2400 static void DeliverChangeRecords(Isolate* isolate); | 2411 static void DeliverChangeRecords(Isolate* isolate); |
2401 | 2412 |
2402 private: | 2413 private: |
2403 friend class DictionaryElementsAccessor; | 2414 friend class DictionaryElementsAccessor; |
2404 | 2415 |
2405 MUST_USE_RESULT MaybeObject* GetElementWithCallback(Object* receiver, | 2416 MUST_USE_RESULT MaybeObject* GetElementWithCallback(Object* receiver, |
2406 Object* structure, | 2417 Object* structure, |
2407 uint32_t index, | 2418 uint32_t index, |
2408 Object* holder); | 2419 Object* holder); |
(...skipping 7199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9608 } else { | 9619 } else { |
9609 value &= ~(1 << bit_position); | 9620 value &= ~(1 << bit_position); |
9610 } | 9621 } |
9611 return value; | 9622 return value; |
9612 } | 9623 } |
9613 }; | 9624 }; |
9614 | 9625 |
9615 } } // namespace v8::internal | 9626 } } // namespace v8::internal |
9616 | 9627 |
9617 #endif // V8_OBJECTS_H_ | 9628 #endif // V8_OBJECTS_H_ |
OLD | NEW |