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

Side by Side Diff: src/heap.h

Issue 7282026: Introduce code flushing of RegExp code. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 5 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/factory.cc ('k') | src/heap.cc » ('j') | src/objects-debug.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 1238 matching lines...) Expand 10 before | Expand all | Expand 10 after
1249 int get_min_in_mutator() { return min_in_mutator_; } 1249 int get_min_in_mutator() { return min_in_mutator_; }
1250 1250
1251 MarkCompactCollector* mark_compact_collector() { 1251 MarkCompactCollector* mark_compact_collector() {
1252 return &mark_compact_collector_; 1252 return &mark_compact_collector_;
1253 } 1253 }
1254 1254
1255 ExternalStringTable* external_string_table() { 1255 ExternalStringTable* external_string_table() {
1256 return &external_string_table_; 1256 return &external_string_table_;
1257 } 1257 }
1258 1258
1259 // Returns the current sweep generation.
1260 int sweep_generation() {
1261 return sweep_generation_;
1262 }
1263
1259 inline Isolate* isolate(); 1264 inline Isolate* isolate();
1260 bool is_safe_to_read_maps() { return is_safe_to_read_maps_; } 1265 bool is_safe_to_read_maps() { return is_safe_to_read_maps_; }
1261 1266
1262 void CallGlobalGCPrologueCallback() { 1267 void CallGlobalGCPrologueCallback() {
1263 if (global_gc_prologue_callback_ != NULL) global_gc_prologue_callback_(); 1268 if (global_gc_prologue_callback_ != NULL) global_gc_prologue_callback_();
1264 } 1269 }
1265 1270
1266 void CallGlobalGCEpilogueCallback() { 1271 void CallGlobalGCEpilogueCallback() {
1267 if (global_gc_epilogue_callback_ != NULL) global_gc_epilogue_callback_(); 1272 if (global_gc_epilogue_callback_ != NULL) global_gc_epilogue_callback_();
1268 } 1273 }
1269 1274
1270 private: 1275 private:
1271 Heap(); 1276 Heap();
1272 1277
1273 // This can be calculated directly from a pointer to the heap; however, it is 1278 // This can be calculated directly from a pointer to the heap; however, it is
1274 // more expedient to get at the isolate directly from within Heap methods. 1279 // more expedient to get at the isolate directly from within Heap methods.
1275 Isolate* isolate_; 1280 Isolate* isolate_;
1276 1281
1277 int reserved_semispace_size_; 1282 int reserved_semispace_size_;
1278 int max_semispace_size_; 1283 int max_semispace_size_;
1279 int initial_semispace_size_; 1284 int initial_semispace_size_;
1280 intptr_t max_old_generation_size_; 1285 intptr_t max_old_generation_size_;
1281 intptr_t max_executable_size_; 1286 intptr_t max_executable_size_;
1282 intptr_t code_range_size_; 1287 intptr_t code_range_size_;
1283 1288
1284 // For keeping track of how much data has survived 1289 // For keeping track of how much data has survived
1285 // scavenge since last new space expansion. 1290 // scavenge since last new space expansion.
1286 int survived_since_last_expansion_; 1291 int survived_since_last_expansion_;
1287 1292
1293 // For keeping track on when to flush RegExp code.
1294 int sweep_generation_;
1295
1288 int always_allocate_scope_depth_; 1296 int always_allocate_scope_depth_;
1289 int linear_allocation_scope_depth_; 1297 int linear_allocation_scope_depth_;
1290 1298
1291 // For keeping track of context disposals. 1299 // For keeping track of context disposals.
1292 int contexts_disposed_; 1300 int contexts_disposed_;
1293 1301
1294 #if defined(V8_TARGET_ARCH_X64) 1302 #if defined(V8_TARGET_ARCH_X64)
1295 static const int kMaxObjectSizeInNewSpace = 1024*KB; 1303 static const int kMaxObjectSizeInNewSpace = 1024*KB;
1296 #else 1304 #else
1297 static const int kMaxObjectSizeInNewSpace = 512*KB; 1305 static const int kMaxObjectSizeInNewSpace = 512*KB;
(...skipping 994 matching lines...) Expand 10 before | Expand all | Expand 10 after
2292 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 2300 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
2293 }; 2301 };
2294 #endif // DEBUG || LIVE_OBJECT_LIST 2302 #endif // DEBUG || LIVE_OBJECT_LIST
2295 2303
2296 2304
2297 } } // namespace v8::internal 2305 } } // namespace v8::internal
2298 2306
2299 #undef HEAP 2307 #undef HEAP
2300 2308
2301 #endif // V8_HEAP_H_ 2309 #endif // V8_HEAP_H_
OLDNEW
« no previous file with comments | « src/factory.cc ('k') | src/heap.cc » ('j') | src/objects-debug.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698