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

Side by Side Diff: src/heap.h

Issue 173567: ARM native regexps. (Closed)
Patch Set: Created 11 years, 3 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
OLDNEW
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 16 matching lines...) Expand all
27 27
28 #ifndef V8_HEAP_H_ 28 #ifndef V8_HEAP_H_
29 #define V8_HEAP_H_ 29 #define V8_HEAP_H_
30 30
31 #include "zone-inl.h" 31 #include "zone-inl.h"
32 32
33 namespace v8 { 33 namespace v8 {
34 namespace internal { 34 namespace internal {
35 35
36 // Defines all the roots in Heap. 36 // Defines all the roots in Heap.
37 #define STRONG_ROOT_LIST(V) \ 37 #define UNCONDITIONAL_STRONG_ROOT_LIST(V) \
38 V(Map, meta_map, MetaMap) \ 38 V(Map, meta_map, MetaMap) \
39 V(Map, heap_number_map, HeapNumberMap) \ 39 V(Map, heap_number_map, HeapNumberMap) \
40 V(Map, short_string_map, ShortStringMap) \ 40 V(Map, short_string_map, ShortStringMap) \
41 V(Map, medium_string_map, MediumStringMap) \ 41 V(Map, medium_string_map, MediumStringMap) \
42 V(Map, long_string_map, LongStringMap) \ 42 V(Map, long_string_map, LongStringMap) \
43 V(Map, short_ascii_string_map, ShortAsciiStringMap) \ 43 V(Map, short_ascii_string_map, ShortAsciiStringMap) \
44 V(Map, medium_ascii_string_map, MediumAsciiStringMap) \ 44 V(Map, medium_ascii_string_map, MediumAsciiStringMap) \
45 V(Map, long_ascii_string_map, LongAsciiStringMap) \ 45 V(Map, long_ascii_string_map, LongAsciiStringMap) \
46 V(Map, short_symbol_map, ShortSymbolMap) \ 46 V(Map, short_symbol_map, ShortSymbolMap) \
47 V(Map, medium_symbol_map, MediumSymbolMap) \ 47 V(Map, medium_symbol_map, MediumSymbolMap) \
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 V(Code, js_entry_code, JsEntryCode) \ 128 V(Code, js_entry_code, JsEntryCode) \
129 V(Code, js_construct_entry_code, JsConstructEntryCode) \ 129 V(Code, js_construct_entry_code, JsConstructEntryCode) \
130 V(Code, c_entry_code, CEntryCode) \ 130 V(Code, c_entry_code, CEntryCode) \
131 V(Code, c_entry_debug_break_code, CEntryDebugBreakCode) \ 131 V(Code, c_entry_debug_break_code, CEntryDebugBreakCode) \
132 V(FixedArray, number_string_cache, NumberStringCache) \ 132 V(FixedArray, number_string_cache, NumberStringCache) \
133 V(FixedArray, single_character_string_cache, SingleCharacterStringCache) \ 133 V(FixedArray, single_character_string_cache, SingleCharacterStringCache) \
134 V(FixedArray, natives_source_cache, NativesSourceCache) \ 134 V(FixedArray, natives_source_cache, NativesSourceCache) \
135 V(Object, last_script_id, LastScriptId) \ 135 V(Object, last_script_id, LastScriptId) \
136 V(Smi, stack_limit, StackLimit) 136 V(Smi, stack_limit, StackLimit)
137 137
138 #if V8_TARGET_ARCH_ARM && V8_NATIVE_REGEXP
Erik Corry 2009/08/28 09:47:03 Ugh
Lasse Reichstein 2009/08/28 11:43:15 Agree, but it still seems better than having an un
139 #define STRONG_ROOT_LIST(V) \
140 UNCONDITIONAL_STRONG_ROOT_LIST(V) \
141 V(Code, re_c_entry_code, RegExpCEntryCode)
142 #else
143 #define STRONG_ROOT_LIST(V) UNCONDITIONAL_STRONG_ROOT_LIST(V)
144 #endif
138 145
139 #define ROOT_LIST(V) \ 146 #define ROOT_LIST(V) \
140 STRONG_ROOT_LIST(V) \ 147 STRONG_ROOT_LIST(V) \
141 V(SymbolTable, symbol_table, SymbolTable) 148 V(SymbolTable, symbol_table, SymbolTable)
142 149
143 #define SYMBOL_LIST(V) \ 150 #define SYMBOL_LIST(V) \
144 V(Array_symbol, "Array") \ 151 V(Array_symbol, "Array") \
145 V(Object_symbol, "Object") \ 152 V(Object_symbol, "Object") \
146 V(Proto_symbol, "__proto__") \ 153 V(Proto_symbol, "__proto__") \
147 V(StringImpl_symbol, "StringImpl") \ 154 V(StringImpl_symbol, "StringImpl") \
(...skipping 869 matching lines...) Expand 10 before | Expand all | Expand 10 after
1017 1024
1018 static bool CreateInitialMaps(); 1025 static bool CreateInitialMaps();
1019 static bool CreateInitialObjects(); 1026 static bool CreateInitialObjects();
1020 1027
1021 // These four Create*EntryStub functions are here because of a gcc-4.4 bug 1028 // These four Create*EntryStub functions are here because of a gcc-4.4 bug
1022 // that assigns wrong vtable entries. 1029 // that assigns wrong vtable entries.
1023 static void CreateCEntryStub(); 1030 static void CreateCEntryStub();
1024 static void CreateCEntryDebugBreakStub(); 1031 static void CreateCEntryDebugBreakStub();
1025 static void CreateJSEntryStub(); 1032 static void CreateJSEntryStub();
1026 static void CreateJSConstructEntryStub(); 1033 static void CreateJSConstructEntryStub();
1034 #if V8_TARGET_ARCH_ARM && V8_NATIVE_REGEXP
Erik Corry 2009/08/28 09:47:03 Can't we remove the #if here?
Lasse Reichstein 2009/08/28 11:43:15 Sure. We still won't implement the function unless
1035 static void CreateRegExpCEntryStub();
1036 #endif
1027 static void CreateFixedStubs(); 1037 static void CreateFixedStubs();
1028 1038
1029 static Object* CreateOddball(Map* map, 1039 static Object* CreateOddball(Map* map,
1030 const char* to_string, 1040 const char* to_string,
1031 Object* to_number); 1041 Object* to_number);
1032 1042
1033 // Allocate empty fixed array. 1043 // Allocate empty fixed array.
1034 static Object* AllocateEmptyFixedArray(); 1044 static Object* AllocateEmptyFixedArray();
1035 1045
1036 // Performs a minor collection in new generation. 1046 // Performs a minor collection in new generation.
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after
1505 int marked_count_; 1515 int marked_count_;
1506 1516
1507 // The count from the end of the previous full GC. Will be zero if there 1517 // The count from the end of the previous full GC. Will be zero if there
1508 // was no previous full GC. 1518 // was no previous full GC.
1509 int previous_marked_count_; 1519 int previous_marked_count_;
1510 }; 1520 };
1511 1521
1512 } } // namespace v8::internal 1522 } } // namespace v8::internal
1513 1523
1514 #endif // V8_HEAP_H_ 1524 #endif // V8_HEAP_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698