OLD | NEW |
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 5344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5355 List<Object*> object_stack_; | 5355 List<Object*> object_stack_; |
5356 Heap* heap_; | 5356 Heap* heap_; |
5357 | 5357 |
5358 friend class Heap; | 5358 friend class Heap; |
5359 }; | 5359 }; |
5360 | 5360 |
5361 #endif | 5361 #endif |
5362 | 5362 |
5363 bool Heap::Setup(bool create_heap_objects) { | 5363 bool Heap::Setup(bool create_heap_objects) { |
5364 #ifdef DEBUG | 5364 #ifdef DEBUG |
| 5365 allocation_timeout_ = FLAG_gc_interval; |
5365 debug_utils_ = new HeapDebugUtils(this); | 5366 debug_utils_ = new HeapDebugUtils(this); |
5366 #endif | 5367 #endif |
5367 | 5368 |
5368 // Initialize heap spaces and initial maps and objects. Whenever something | 5369 // Initialize heap spaces and initial maps and objects. Whenever something |
5369 // goes wrong, just return false. The caller should check the results and | 5370 // goes wrong, just return false. The caller should check the results and |
5370 // call Heap::TearDown() to release allocated memory. | 5371 // call Heap::TearDown() to release allocated memory. |
5371 // | 5372 // |
5372 // If the heap is not yet configured (eg, through the API), configure it. | 5373 // If the heap is not yet configured (eg, through the API), configure it. |
5373 // Configuration is based on the flags new-space-size (really the semispace | 5374 // Configuration is based on the flags new-space-size (really the semispace |
5374 // size) and old-space-size if set or the initial values of semispace_size_ | 5375 // size) and old-space-size if set or the initial values of semispace_size_ |
(...skipping 1028 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6403 isolate_->heap()->store_buffer()->Compact(); | 6404 isolate_->heap()->store_buffer()->Compact(); |
6404 isolate_->heap()->store_buffer()->Filter(MemoryChunk::ABOUT_TO_BE_FREED); | 6405 isolate_->heap()->store_buffer()->Filter(MemoryChunk::ABOUT_TO_BE_FREED); |
6405 for (chunk = chunks_queued_for_free_; chunk != NULL; chunk = next) { | 6406 for (chunk = chunks_queued_for_free_; chunk != NULL; chunk = next) { |
6406 next = chunk->next_chunk(); | 6407 next = chunk->next_chunk(); |
6407 isolate_->memory_allocator()->Free(chunk); | 6408 isolate_->memory_allocator()->Free(chunk); |
6408 } | 6409 } |
6409 chunks_queued_for_free_ = NULL; | 6410 chunks_queued_for_free_ = NULL; |
6410 } | 6411 } |
6411 | 6412 |
6412 } } // namespace v8::internal | 6413 } } // namespace v8::internal |
OLD | NEW |