| 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 753 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 764 // Makes a new symbol object | 764 // Makes a new symbol object |
| 765 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation | 765 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation |
| 766 // failed. | 766 // failed. |
| 767 // Please note this function does not perform a garbage collection. | 767 // Please note this function does not perform a garbage collection. |
| 768 static Object* CreateSymbol(const char* str, int length, int hash); | 768 static Object* CreateSymbol(const char* str, int length, int hash); |
| 769 static Object* CreateSymbol(String* str); | 769 static Object* CreateSymbol(String* str); |
| 770 | 770 |
| 771 // Write barrier support for address[offset] = o. | 771 // Write barrier support for address[offset] = o. |
| 772 static inline void RecordWrite(Address address, int offset); | 772 static inline void RecordWrite(Address address, int offset); |
| 773 | 773 |
| 774 // Write barrier support for address[start : start + len[ = o. |
| 775 static inline void RecordWrites(Address address, int start, int len); |
| 776 |
| 774 // Given an address occupied by a live code object, return that object. | 777 // Given an address occupied by a live code object, return that object. |
| 775 static Object* FindCodeObject(Address a); | 778 static Object* FindCodeObject(Address a); |
| 776 | 779 |
| 777 // Invoke Shrink on shrinkable spaces. | 780 // Invoke Shrink on shrinkable spaces. |
| 778 static void Shrink(); | 781 static void Shrink(); |
| 779 | 782 |
| 780 enum HeapState { NOT_IN_GC, SCAVENGE, MARK_COMPACT }; | 783 enum HeapState { NOT_IN_GC, SCAVENGE, MARK_COMPACT }; |
| 781 static inline HeapState gc_state() { return gc_state_; } | 784 static inline HeapState gc_state() { return gc_state_; } |
| 782 | 785 |
| 783 #ifdef DEBUG | 786 #ifdef DEBUG |
| (...skipping 947 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1731 | 1734 |
| 1732 // To speed up scavenge collections new space string are kept | 1735 // To speed up scavenge collections new space string are kept |
| 1733 // separate from old space strings. | 1736 // separate from old space strings. |
| 1734 static List<Object*> new_space_strings_; | 1737 static List<Object*> new_space_strings_; |
| 1735 static List<Object*> old_space_strings_; | 1738 static List<Object*> old_space_strings_; |
| 1736 }; | 1739 }; |
| 1737 | 1740 |
| 1738 } } // namespace v8::internal | 1741 } } // namespace v8::internal |
| 1739 | 1742 |
| 1740 #endif // V8_HEAP_H_ | 1743 #endif // V8_HEAP_H_ |
| OLD | NEW |