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

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: final version before commit 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') | no next file with comments »
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 522 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 MUST_USE_RESULT MaybeObject* CopyFixedArrayWithMap(FixedArray* src, Map* map); 615 MUST_USE_RESULT MaybeObject* CopyFixedArrayWithMap(FixedArray* src, Map* map);
614 616
615 // Allocates a fixed array initialized with the hole values. 617 // Allocates a fixed array initialized with the hole values.
616 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation 618 // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation
617 // failed. 619 // failed.
618 // Please note this does not perform a garbage collection. 620 // Please note this does not perform a garbage collection.
619 MUST_USE_RESULT MaybeObject* AllocateFixedArrayWithHoles( 621 MUST_USE_RESULT MaybeObject* AllocateFixedArrayWithHoles(
620 int length, 622 int length,
621 PretenureFlag pretenure = NOT_TENURED); 623 PretenureFlag pretenure = NOT_TENURED);
622 624
625 MUST_USE_RESULT MaybeObject* AllocateRawFixedDoubleArray(
626 int length,
627 PretenureFlag pretenure);
628
629 // Allocates a fixed double array with uninitialized values. Returns
630 // Failure::RetryAfterGC(requested_bytes, space) if the allocation failed.
631 // Please note this does not perform a garbage collection.
632 MUST_USE_RESULT MaybeObject* AllocateUninitializedFixedDoubleArray(
633 int length,
634 PretenureFlag pretenure = NOT_TENURED);
635
623 // AllocateHashTable is identical to AllocateFixedArray except 636 // AllocateHashTable is identical to AllocateFixedArray except
624 // that the resulting object has hash_table_map as map. 637 // that the resulting object has hash_table_map as map.
625 MUST_USE_RESULT MaybeObject* AllocateHashTable( 638 MUST_USE_RESULT MaybeObject* AllocateHashTable(
626 int length, PretenureFlag pretenure = NOT_TENURED); 639 int length, PretenureFlag pretenure = NOT_TENURED);
627 640
628 // Allocate a global (but otherwise uninitialized) context. 641 // Allocate a global (but otherwise uninitialized) context.
629 MUST_USE_RESULT MaybeObject* AllocateGlobalContext(); 642 MUST_USE_RESULT MaybeObject* AllocateGlobalContext();
630 643
631 // Allocate a function context. 644 // Allocate a function context.
632 MUST_USE_RESULT MaybeObject* AllocateFunctionContext(int length, 645 MUST_USE_RESULT MaybeObject* AllocateFunctionContext(int length,
(...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after
1453 1466
1454 void CreateFixedStubs(); 1467 void CreateFixedStubs();
1455 1468
1456 MaybeObject* CreateOddball(const char* to_string, 1469 MaybeObject* CreateOddball(const char* to_string,
1457 Object* to_number, 1470 Object* to_number,
1458 byte kind); 1471 byte kind);
1459 1472
1460 // Allocate empty fixed array. 1473 // Allocate empty fixed array.
1461 MUST_USE_RESULT MaybeObject* AllocateEmptyFixedArray(); 1474 MUST_USE_RESULT MaybeObject* AllocateEmptyFixedArray();
1462 1475
1476 // Allocate empty fixed double array.
1477 MUST_USE_RESULT MaybeObject* AllocateEmptyFixedDoubleArray();
1478
1463 void SwitchScavengingVisitorsTableIfProfilingWasEnabled(); 1479 void SwitchScavengingVisitorsTableIfProfilingWasEnabled();
1464 1480
1465 // Performs a minor collection in new generation. 1481 // Performs a minor collection in new generation.
1466 void Scavenge(); 1482 void Scavenge();
1467 1483
1468 static String* UpdateNewSpaceReferenceInExternalStringTableEntry( 1484 static String* UpdateNewSpaceReferenceInExternalStringTableEntry(
1469 Heap* heap, 1485 Heap* heap,
1470 Object** pointer); 1486 Object** pointer);
1471 1487
1472 Address DoScavenge(ObjectVisitor* scavenge_visitor, Address new_space_front); 1488 Address DoScavenge(ObjectVisitor* scavenge_visitor, Address new_space_front);
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after
2267 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 2283 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
2268 }; 2284 };
2269 #endif // DEBUG || LIVE_OBJECT_LIST 2285 #endif // DEBUG || LIVE_OBJECT_LIST
2270 2286
2271 2287
2272 } } // namespace v8::internal 2288 } } // namespace v8::internal
2273 2289
2274 #undef HEAP 2290 #undef HEAP
2275 2291
2276 #endif // V8_HEAP_H_ 2292 #endif // V8_HEAP_H_
OLDNEW
« no previous file with comments | « src/flag-definitions.h ('k') | src/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698