Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(360)

Side by Side Diff: src/heap.h

Issue 7089002: Implement core support for FixedDoubleArrays. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: tweaks Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/flag-definitions.h ('k') | src/heap.cc » ('j') | src/heap.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 V(Object, undefined_value, UndefinedValue) \ 59 V(Object, undefined_value, UndefinedValue) \
60 V(Object, the_hole_value, TheHoleValue) \ 60 V(Object, the_hole_value, TheHoleValue) \
61 V(Object, null_value, NullValue) \ 61 V(Object, null_value, NullValue) \
62 V(Object, true_value, TrueValue) \ 62 V(Object, true_value, TrueValue) \
63 V(Object, false_value, FalseValue) \ 63 V(Object, false_value, FalseValue) \
64 V(Object, arguments_marker, ArgumentsMarker) \ 64 V(Object, arguments_marker, ArgumentsMarker) \
65 V(Map, heap_number_map, HeapNumberMap) \ 65 V(Map, heap_number_map, HeapNumberMap) \
66 V(Map, global_context_map, GlobalContextMap) \ 66 V(Map, global_context_map, GlobalContextMap) \
67 V(Map, fixed_array_map, FixedArrayMap) \ 67 V(Map, fixed_array_map, FixedArrayMap) \
68 V(Map, fixed_cow_array_map, FixedCOWArrayMap) \ 68 V(Map, fixed_cow_array_map, FixedCOWArrayMap) \
69 V(Map, fixed_double_array_map, FixedDoubleArrayMap) \
69 V(Object, no_interceptor_result_sentinel, NoInterceptorResultSentinel) \ 70 V(Object, no_interceptor_result_sentinel, NoInterceptorResultSentinel) \
70 V(Map, meta_map, MetaMap) \ 71 V(Map, meta_map, MetaMap) \
71 V(Map, hash_table_map, HashTableMap) \ 72 V(Map, hash_table_map, HashTableMap) \
72 V(Smi, stack_limit, StackLimit) \ 73 V(Smi, stack_limit, StackLimit) \
73 V(FixedArray, number_string_cache, NumberStringCache) \ 74 V(FixedArray, number_string_cache, NumberStringCache) \
74 V(Object, instanceof_cache_function, InstanceofCacheFunction) \ 75 V(Object, instanceof_cache_function, InstanceofCacheFunction) \
75 V(Object, instanceof_cache_map, InstanceofCacheMap) \ 76 V(Object, instanceof_cache_map, InstanceofCacheMap) \
76 V(Object, instanceof_cache_answer, InstanceofCacheAnswer) \ 77 V(Object, instanceof_cache_answer, InstanceofCacheAnswer) \
77 V(FixedArray, single_character_string_cache, SingleCharacterStringCache) \ 78 V(FixedArray, single_character_string_cache, SingleCharacterStringCache) \
78 V(Object, termination_exception, TerminationException) \ 79 V(Object, termination_exception, TerminationException) \
79 V(FixedArray, empty_fixed_array, EmptyFixedArray) \ 80 V(FixedArray, empty_fixed_array, EmptyFixedArray) \
80 V(ByteArray, empty_byte_array, EmptyByteArray) \ 81 V(ByteArray, empty_byte_array, EmptyByteArray) \
82 V(FixedDoubleArray, empty_fixed_double_array, EmptyFixedDoubleArray) \
81 V(String, empty_string, EmptyString) \ 83 V(String, empty_string, EmptyString) \
82 V(DescriptorArray, empty_descriptor_array, EmptyDescriptorArray) \ 84 V(DescriptorArray, empty_descriptor_array, EmptyDescriptorArray) \
83 V(Map, string_map, StringMap) \ 85 V(Map, string_map, StringMap) \
84 V(Map, ascii_string_map, AsciiStringMap) \ 86 V(Map, ascii_string_map, AsciiStringMap) \
85 V(Map, symbol_map, SymbolMap) \ 87 V(Map, symbol_map, SymbolMap) \
86 V(Map, cons_string_map, ConsStringMap) \ 88 V(Map, cons_string_map, ConsStringMap) \
87 V(Map, cons_ascii_string_map, ConsAsciiStringMap) \ 89 V(Map, cons_ascii_string_map, ConsAsciiStringMap) \
88 V(Map, ascii_symbol_map, AsciiSymbolMap) \ 90 V(Map, ascii_symbol_map, AsciiSymbolMap) \
89 V(Map, cons_symbol_map, ConsSymbolMap) \ 91 V(Map, cons_symbol_map, ConsSymbolMap) \
90 V(Map, cons_ascii_symbol_map, ConsAsciiSymbolMap) \ 92 V(Map, cons_ascii_symbol_map, ConsAsciiSymbolMap) \
(...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 MUST_USE_RESULT MaybeObject* CopyFixedArrayWithMap(FixedArray* src, Map* map); 611 MUST_USE_RESULT MaybeObject* CopyFixedArrayWithMap(FixedArray* src, Map* map);
610 612
611 // Allocates a fixed array initialized with the hole values. 613 // Allocates a fixed array initialized with the hole values.
612 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation 614 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation
613 // failed. 615 // failed.
614 // Please note this does not perform a garbage collection. 616 // Please note this does not perform a garbage collection.
615 MUST_USE_RESULT MaybeObject* AllocateFixedArrayWithHoles( 617 MUST_USE_RESULT MaybeObject* AllocateFixedArrayWithHoles(
616 int length, 618 int length,
617 PretenureFlag pretenure = NOT_TENURED); 619 PretenureFlag pretenure = NOT_TENURED);
618 620
621 MUST_USE_RESULT MaybeObject* AllocateRawFixedDoubleArray(
622 int length,
623 PretenureFlag pretenure);
624
625 // Allocates a fixed double array initialized with undefined values
Mads Ager (chromium) 2011/06/06 07:58:23 Period at end of comment. Let's call this Allocat
danno 2011/06/08 12:09:43 Done.
626 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation
627 // failed.
628 // Please note this does not perform a garbage collection.
629 MUST_USE_RESULT MaybeObject* AllocateFixedDoubleArray(
630 int length,
631 PretenureFlag pretenure = NOT_TENURED);
632
619 // AllocateHashTable is identical to AllocateFixedArray except 633 // AllocateHashTable is identical to AllocateFixedArray except
620 // that the resulting object has hash_table_map as map. 634 // that the resulting object has hash_table_map as map.
621 MUST_USE_RESULT MaybeObject* AllocateHashTable( 635 MUST_USE_RESULT MaybeObject* AllocateHashTable(
622 int length, PretenureFlag pretenure = NOT_TENURED); 636 int length, PretenureFlag pretenure = NOT_TENURED);
623 637
624 // Allocate a global (but otherwise uninitialized) context. 638 // Allocate a global (but otherwise uninitialized) context.
625 MUST_USE_RESULT MaybeObject* AllocateGlobalContext(); 639 MUST_USE_RESULT MaybeObject* AllocateGlobalContext();
626 640
627 // Allocate a function context. 641 // Allocate a function context.
628 MUST_USE_RESULT MaybeObject* AllocateFunctionContext(int length, 642 MUST_USE_RESULT MaybeObject* AllocateFunctionContext(int length,
(...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after
1449 1463
1450 void CreateFixedStubs(); 1464 void CreateFixedStubs();
1451 1465
1452 MaybeObject* CreateOddball(const char* to_string, 1466 MaybeObject* CreateOddball(const char* to_string,
1453 Object* to_number, 1467 Object* to_number,
1454 byte kind); 1468 byte kind);
1455 1469
1456 // Allocate empty fixed array. 1470 // Allocate empty fixed array.
1457 MUST_USE_RESULT MaybeObject* AllocateEmptyFixedArray(); 1471 MUST_USE_RESULT MaybeObject* AllocateEmptyFixedArray();
1458 1472
1473 // Allocate empty fixed double array.
1474 MUST_USE_RESULT MaybeObject* AllocateEmptyFixedDoubleArray();
1475
1459 void SwitchScavengingVisitorsTableIfProfilingWasEnabled(); 1476 void SwitchScavengingVisitorsTableIfProfilingWasEnabled();
1460 1477
1461 // Performs a minor collection in new generation. 1478 // Performs a minor collection in new generation.
1462 void Scavenge(); 1479 void Scavenge();
1463 1480
1464 static String* UpdateNewSpaceReferenceInExternalStringTableEntry( 1481 static String* UpdateNewSpaceReferenceInExternalStringTableEntry(
1465 Heap* heap, 1482 Heap* heap,
1466 Object** pointer); 1483 Object** pointer);
1467 1484
1468 Address DoScavenge(ObjectVisitor* scavenge_visitor, Address new_space_front); 1485 Address DoScavenge(ObjectVisitor* scavenge_visitor, Address new_space_front);
(...skipping 793 matching lines...) Expand 10 before | Expand all | Expand 10 after
2262 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 2279 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
2263 }; 2280 };
2264 #endif // DEBUG || LIVE_OBJECT_LIST 2281 #endif // DEBUG || LIVE_OBJECT_LIST
2265 2282
2266 2283
2267 } } // namespace v8::internal 2284 } } // namespace v8::internal
2268 2285
2269 #undef HEAP 2286 #undef HEAP
2270 2287
2271 #endif // V8_HEAP_H_ 2288 #endif // V8_HEAP_H_
OLDNEW
« no previous file with comments | « src/flag-definitions.h ('k') | src/heap.cc » ('j') | src/heap.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698