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 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 V(Map, undetectable_short_string_map, UndetectableShortStringMap) \ | 104 V(Map, undetectable_short_string_map, UndetectableShortStringMap) \ |
105 V(Map, undetectable_medium_string_map, UndetectableMediumStringMap) \ | 105 V(Map, undetectable_medium_string_map, UndetectableMediumStringMap) \ |
106 V(Map, undetectable_long_string_map, UndetectableLongStringMap) \ | 106 V(Map, undetectable_long_string_map, UndetectableLongStringMap) \ |
107 V(Map, undetectable_short_ascii_string_map, UndetectableShortAsciiStringMap) \ | 107 V(Map, undetectable_short_ascii_string_map, UndetectableShortAsciiStringMap) \ |
108 V(Map, \ | 108 V(Map, \ |
109 undetectable_medium_ascii_string_map, \ | 109 undetectable_medium_ascii_string_map, \ |
110 UndetectableMediumAsciiStringMap) \ | 110 UndetectableMediumAsciiStringMap) \ |
111 V(Map, undetectable_long_ascii_string_map, UndetectableLongAsciiStringMap) \ | 111 V(Map, undetectable_long_ascii_string_map, UndetectableLongAsciiStringMap) \ |
112 V(Map, byte_array_map, ByteArrayMap) \ | 112 V(Map, byte_array_map, ByteArrayMap) \ |
113 V(Map, pixel_array_map, PixelArrayMap) \ | 113 V(Map, pixel_array_map, PixelArrayMap) \ |
| 114 V(Map, external_byte_array_map, ExternalByteArrayMap) \ |
| 115 V(Map, external_unsigned_byte_array_map, ExternalUnsignedByteArrayMap) \ |
| 116 V(Map, external_short_array_map, ExternalShortArrayMap) \ |
| 117 V(Map, external_unsigned_short_array_map, ExternalUnsignedShortArrayMap) \ |
| 118 V(Map, external_int_array_map, ExternalIntArrayMap) \ |
| 119 V(Map, external_unsigned_int_array_map, ExternalUnsignedIntArrayMap) \ |
| 120 V(Map, external_float_array_map, ExternalFloatArrayMap) \ |
114 V(Map, context_map, ContextMap) \ | 121 V(Map, context_map, ContextMap) \ |
115 V(Map, catch_context_map, CatchContextMap) \ | 122 V(Map, catch_context_map, CatchContextMap) \ |
116 V(Map, code_map, CodeMap) \ | 123 V(Map, code_map, CodeMap) \ |
117 V(Map, oddball_map, OddballMap) \ | 124 V(Map, oddball_map, OddballMap) \ |
118 V(Map, global_property_cell_map, GlobalPropertyCellMap) \ | 125 V(Map, global_property_cell_map, GlobalPropertyCellMap) \ |
119 V(Map, boilerplate_function_map, BoilerplateFunctionMap) \ | 126 V(Map, boilerplate_function_map, BoilerplateFunctionMap) \ |
120 V(Map, shared_function_info_map, SharedFunctionInfoMap) \ | 127 V(Map, shared_function_info_map, SharedFunctionInfoMap) \ |
121 V(Map, proxy_map, ProxyMap) \ | 128 V(Map, proxy_map, ProxyMap) \ |
122 V(Map, one_pointer_filler_map, OnePointerFillerMap) \ | 129 V(Map, one_pointer_filler_map, OnePointerFillerMap) \ |
123 V(Map, two_pointer_filler_map, TwoPointerFillerMap) \ | 130 V(Map, two_pointer_filler_map, TwoPointerFillerMap) \ |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
445 static Object* AllocateByteArray(int length); | 452 static Object* AllocateByteArray(int length); |
446 | 453 |
447 // Allocate a pixel array of the specified length | 454 // Allocate a pixel array of the specified length |
448 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation | 455 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation |
449 // failed. | 456 // failed. |
450 // Please note this does not perform a garbage collection. | 457 // Please note this does not perform a garbage collection. |
451 static Object* AllocatePixelArray(int length, | 458 static Object* AllocatePixelArray(int length, |
452 uint8_t* external_pointer, | 459 uint8_t* external_pointer, |
453 PretenureFlag pretenure); | 460 PretenureFlag pretenure); |
454 | 461 |
| 462 // Allocates an external array of the specified length and type. |
| 463 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation |
| 464 // failed. |
| 465 // Please note this does not perform a garbage collection. |
| 466 static Object* AllocateExternalArray(int length, |
| 467 ExternalArrayType array_type, |
| 468 void* external_pointer, |
| 469 PretenureFlag pretenure); |
| 470 |
455 // Allocate a tenured JS global property cell. | 471 // Allocate a tenured JS global property cell. |
456 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation | 472 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation |
457 // failed. | 473 // failed. |
458 // Please note this does not perform a garbage collection. | 474 // Please note this does not perform a garbage collection. |
459 static Object* AllocateJSGlobalPropertyCell(Object* value); | 475 static Object* AllocateJSGlobalPropertyCell(Object* value); |
460 | 476 |
461 // Allocates a fixed array initialized with undefined values | 477 // Allocates a fixed array initialized with undefined values |
462 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation | 478 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation |
463 // failed. | 479 // failed. |
464 // Please note this does not perform a garbage collection. | 480 // Please note this does not perform a garbage collection. |
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
877 SYMBOL_LIST(SYMBOL_INDEX_DECLARATION) | 893 SYMBOL_LIST(SYMBOL_INDEX_DECLARATION) |
878 #undef SYMBOL_DECLARATION | 894 #undef SYMBOL_DECLARATION |
879 | 895 |
880 kSymbolTableRootIndex, | 896 kSymbolTableRootIndex, |
881 kStrongRootListLength = kSymbolTableRootIndex, | 897 kStrongRootListLength = kSymbolTableRootIndex, |
882 kRootListLength | 898 kRootListLength |
883 }; | 899 }; |
884 | 900 |
885 static Object* NumberToString(Object* number); | 901 static Object* NumberToString(Object* number); |
886 | 902 |
| 903 static Map* MapForExternalArrayType(ExternalArrayType array_type); |
| 904 static RootListIndex RootIndexForExternalArrayType( |
| 905 ExternalArrayType array_type); |
| 906 |
887 private: | 907 private: |
888 static int semispace_size_; | 908 static int semispace_size_; |
889 static int initial_semispace_size_; | 909 static int initial_semispace_size_; |
890 static int young_generation_size_; | 910 static int young_generation_size_; |
891 static int old_generation_size_; | 911 static int old_generation_size_; |
892 static size_t code_range_size_; | 912 static size_t code_range_size_; |
893 | 913 |
894 // For keeping track of how much data has survived | 914 // For keeping track of how much data has survived |
895 // scavenge since last new space expansion. | 915 // scavenge since last new space expansion. |
896 static int survived_since_last_expansion_; | 916 static int survived_since_last_expansion_; |
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1592 } | 1612 } |
1593 static TranscendentalCache* caches_[kNumberOfCaches]; | 1613 static TranscendentalCache* caches_[kNumberOfCaches]; |
1594 Element elements_[kCacheSize]; | 1614 Element elements_[kCacheSize]; |
1595 Type type_; | 1615 Type type_; |
1596 }; | 1616 }; |
1597 | 1617 |
1598 | 1618 |
1599 } } // namespace v8::internal | 1619 } } // namespace v8::internal |
1600 | 1620 |
1601 #endif // V8_HEAP_H_ | 1621 #endif // V8_HEAP_H_ |
OLD | NEW |