OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_HEAP_HEAP_H_ | 5 #ifndef V8_HEAP_HEAP_H_ |
6 #define V8_HEAP_HEAP_H_ | 6 #define V8_HEAP_HEAP_H_ |
7 | 7 |
8 #include <cmath> | 8 #include <cmath> |
9 #include <map> | 9 #include <map> |
10 | 10 |
(...skipping 1710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1721 // collect more garbage. | 1721 // collect more garbage. |
1722 bool PerformGarbageCollection( | 1722 bool PerformGarbageCollection( |
1723 GarbageCollector collector, | 1723 GarbageCollector collector, |
1724 const GCCallbackFlags gc_callback_flags = kNoGCCallbackFlags); | 1724 const GCCallbackFlags gc_callback_flags = kNoGCCallbackFlags); |
1725 | 1725 |
1726 inline void UpdateOldSpaceLimits(); | 1726 inline void UpdateOldSpaceLimits(); |
1727 | 1727 |
1728 // Initializes a JSObject based on its map. | 1728 // Initializes a JSObject based on its map. |
1729 void InitializeJSObjectFromMap(JSObject* obj, FixedArray* properties, | 1729 void InitializeJSObjectFromMap(JSObject* obj, FixedArray* properties, |
1730 Map* map); | 1730 Map* map); |
| 1731 |
| 1732 // Initializes JSObject body starting at given offset. |
| 1733 void InitializeJSObjectBody(JSObject* obj, Map* map, int start_offset); |
| 1734 |
1731 void InitializeAllocationMemento(AllocationMemento* memento, | 1735 void InitializeAllocationMemento(AllocationMemento* memento, |
1732 AllocationSite* allocation_site); | 1736 AllocationSite* allocation_site); |
1733 | 1737 |
1734 bool CreateInitialMaps(); | 1738 bool CreateInitialMaps(); |
1735 void CreateInitialObjects(); | 1739 void CreateInitialObjects(); |
1736 | 1740 |
1737 // These five Create*EntryStub functions are here and forced to not be inlined | 1741 // These five Create*EntryStub functions are here and forced to not be inlined |
1738 // because of a gcc-4.4 bug that assigns wrong vtable entries. | 1742 // because of a gcc-4.4 bug that assigns wrong vtable entries. |
1739 NO_INLINE(void CreateJSEntryStub()); | 1743 NO_INLINE(void CreateJSEntryStub()); |
1740 NO_INLINE(void CreateJSConstructEntryStub()); | 1744 NO_INLINE(void CreateJSConstructEntryStub()); |
(...skipping 990 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2731 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2735 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2732 | 2736 |
2733 private: | 2737 private: |
2734 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2738 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2735 }; | 2739 }; |
2736 #endif // DEBUG | 2740 #endif // DEBUG |
2737 } // namespace internal | 2741 } // namespace internal |
2738 } // namespace v8 | 2742 } // namespace v8 |
2739 | 2743 |
2740 #endif // V8_HEAP_HEAP_H_ | 2744 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |