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

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

Powered by Google App Engine
This is Rietveld 408576698