| 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 |