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

Side by Side Diff: src/heap.h

Issue 6997015: Limit the generation of regexp code with large inlined constants. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 9 years, 7 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/arm/regexp-macro-assembler-arm.cc ('k') | src/ia32/regexp-macro-assembler-ia32.h » ('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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 1196 matching lines...) Expand 10 before | Expand all | Expand 10 after
1207 inline bool ShouldBePromoted(Address old_address, int object_size); 1207 inline bool ShouldBePromoted(Address old_address, int object_size);
1208 1208
1209 int MaxObjectSizeInNewSpace() { return kMaxObjectSizeInNewSpace; } 1209 int MaxObjectSizeInNewSpace() { return kMaxObjectSizeInNewSpace; }
1210 1210
1211 void ClearJSFunctionResultCaches(); 1211 void ClearJSFunctionResultCaches();
1212 1212
1213 void ClearNormalizedMapCaches(); 1213 void ClearNormalizedMapCaches();
1214 1214
1215 GCTracer* tracer() { return tracer_; } 1215 GCTracer* tracer() { return tracer_; }
1216 1216
1217 double total_regexp_code_generated() { return total_regexp_code_generated_; }
1218 void IncreaseTotalRegexpCodeGenerated(int size) {
1219 total_regexp_code_generated_ += size;
1220 }
1221
1217 // Returns maximum GC pause. 1222 // Returns maximum GC pause.
1218 int get_max_gc_pause() { return max_gc_pause_; } 1223 int get_max_gc_pause() { return max_gc_pause_; }
1219 1224
1220 // Returns maximum size of objects alive after GC. 1225 // Returns maximum size of objects alive after GC.
1221 intptr_t get_max_alive_after_gc() { return max_alive_after_gc_; } 1226 intptr_t get_max_alive_after_gc() { return max_alive_after_gc_; }
1222 1227
1223 // Returns minimal interval between two subsequent collections. 1228 // Returns minimal interval between two subsequent collections.
1224 int get_min_in_mutator() { return min_in_mutator_; } 1229 int get_min_in_mutator() { return min_in_mutator_; }
1225 1230
1226 MarkCompactCollector* mark_compact_collector() { 1231 MarkCompactCollector* mark_compact_collector() {
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
1490 // Returns the function. 1495 // Returns the function.
1491 // Note: this code was factored out of AllocateFunction such that 1496 // Note: this code was factored out of AllocateFunction such that
1492 // other parts of the VM could use it. Specifically, a function that creates 1497 // other parts of the VM could use it. Specifically, a function that creates
1493 // instances of type JS_FUNCTION_TYPE benefit from the use of this function. 1498 // instances of type JS_FUNCTION_TYPE benefit from the use of this function.
1494 // Please note this does not perform a garbage collection. 1499 // Please note this does not perform a garbage collection.
1495 MUST_USE_RESULT inline MaybeObject* InitializeFunction( 1500 MUST_USE_RESULT inline MaybeObject* InitializeFunction(
1496 JSFunction* function, 1501 JSFunction* function,
1497 SharedFunctionInfo* shared, 1502 SharedFunctionInfo* shared,
1498 Object* prototype); 1503 Object* prototype);
1499 1504
1505 // Total RegExp code ever generated
1506 double total_regexp_code_generated_;
1507
1500 GCTracer* tracer_; 1508 GCTracer* tracer_;
1501 1509
1502 1510
1503 // Initializes the number to string cache based on the max semispace size. 1511 // Initializes the number to string cache based on the max semispace size.
1504 MUST_USE_RESULT MaybeObject* InitializeNumberStringCache(); 1512 MUST_USE_RESULT MaybeObject* InitializeNumberStringCache();
1505 // Flush the number to string cache. 1513 // Flush the number to string cache.
1506 void FlushNumberStringCache(); 1514 void FlushNumberStringCache();
1507 1515
1508 void UpdateSurvivalRateTrend(int start_new_space_size); 1516 void UpdateSurvivalRateTrend(int start_new_space_size);
1509 1517
(...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after
2259 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 2267 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
2260 }; 2268 };
2261 #endif // DEBUG || LIVE_OBJECT_LIST 2269 #endif // DEBUG || LIVE_OBJECT_LIST
2262 2270
2263 2271
2264 } } // namespace v8::internal 2272 } } // namespace v8::internal
2265 2273
2266 #undef HEAP 2274 #undef HEAP
2267 2275
2268 #endif // V8_HEAP_H_ 2276 #endif // V8_HEAP_H_
OLDNEW
« no previous file with comments | « src/arm/regexp-macro-assembler-arm.cc ('k') | src/ia32/regexp-macro-assembler-ia32.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698