| OLD | NEW |
| 1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 void Heap::CollectAllGarbage(bool force_compaction) { | 365 void Heap::CollectAllGarbage(bool force_compaction) { |
| 366 // Since we are ignoring the return value, the exact choice of space does | 366 // Since we are ignoring the return value, the exact choice of space does |
| 367 // not matter, so long as we do not specify NEW_SPACE, which would not | 367 // not matter, so long as we do not specify NEW_SPACE, which would not |
| 368 // cause a full GC. | 368 // cause a full GC. |
| 369 MarkCompactCollector::SetForceCompaction(force_compaction); | 369 MarkCompactCollector::SetForceCompaction(force_compaction); |
| 370 CollectGarbage(0, OLD_POINTER_SPACE); | 370 CollectGarbage(0, OLD_POINTER_SPACE); |
| 371 MarkCompactCollector::SetForceCompaction(false); | 371 MarkCompactCollector::SetForceCompaction(false); |
| 372 } | 372 } |
| 373 | 373 |
| 374 | 374 |
| 375 void Heap::NotifyContextDisposed() { | |
| 376 contexts_disposed_++; | |
| 377 } | |
| 378 | |
| 379 | |
| 380 bool Heap::CollectGarbage(int requested_size, AllocationSpace space) { | 375 bool Heap::CollectGarbage(int requested_size, AllocationSpace space) { |
| 381 // The VM is in the GC state until exiting this function. | 376 // The VM is in the GC state until exiting this function. |
| 382 VMState state(GC); | 377 VMState state(GC); |
| 383 | 378 |
| 384 #ifdef DEBUG | 379 #ifdef DEBUG |
| 385 // Reset the allocation timeout to the GC interval, but make sure to | 380 // Reset the allocation timeout to the GC interval, but make sure to |
| 386 // allow at least a few allocations after a collection. The reason | 381 // allow at least a few allocations after a collection. The reason |
| 387 // for this is that we have a lot of allocation sequences and we | 382 // for this is that we have a lot of allocation sequences and we |
| 388 // assume that a garbage collection will allow the subsequent | 383 // assume that a garbage collection will allow the subsequent |
| 389 // allocation attempts to go through. | 384 // allocation attempts to go through. |
| (...skipping 3849 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4239 void ExternalStringTable::TearDown() { | 4234 void ExternalStringTable::TearDown() { |
| 4240 new_space_strings_.Free(); | 4235 new_space_strings_.Free(); |
| 4241 old_space_strings_.Free(); | 4236 old_space_strings_.Free(); |
| 4242 } | 4237 } |
| 4243 | 4238 |
| 4244 | 4239 |
| 4245 List<Object*> ExternalStringTable::new_space_strings_; | 4240 List<Object*> ExternalStringTable::new_space_strings_; |
| 4246 List<Object*> ExternalStringTable::old_space_strings_; | 4241 List<Object*> ExternalStringTable::old_space_strings_; |
| 4247 | 4242 |
| 4248 } } // namespace v8::internal | 4243 } } // namespace v8::internal |
| OLD | NEW |