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 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 &StoreBuffer::FindPointersToNewSpaceInRegion); | 394 &StoreBuffer::FindPointersToNewSpaceInRegion); |
395 VerifyPointers(heap_->map_space(), | 395 VerifyPointers(heap_->map_space(), |
396 &StoreBuffer::FindPointersToNewSpaceInMapsRegion); | 396 &StoreBuffer::FindPointersToNewSpaceInMapsRegion); |
397 VerifyPointers(heap_->lo_space()); | 397 VerifyPointers(heap_->lo_space()); |
398 #endif | 398 #endif |
399 } | 399 } |
400 | 400 |
401 | 401 |
402 void StoreBuffer::GCEpilogue() { | 402 void StoreBuffer::GCEpilogue() { |
403 during_gc_ = false; | 403 during_gc_ = false; |
404 Verify(); | 404 if (FLAG_verify_heap) { |
| 405 Verify(); |
| 406 } |
405 } | 407 } |
406 | 408 |
407 | 409 |
408 void StoreBuffer::FindPointersToNewSpaceInRegion( | 410 void StoreBuffer::FindPointersToNewSpaceInRegion( |
409 Address start, Address end, ObjectSlotCallback slot_callback) { | 411 Address start, Address end, ObjectSlotCallback slot_callback) { |
410 for (Address slot_address = start; | 412 for (Address slot_address = start; |
411 slot_address < end; | 413 slot_address < end; |
412 slot_address += kPointerSize) { | 414 slot_address += kPointerSize) { |
413 Object** slot = reinterpret_cast<Object**>(slot_address); | 415 Object** slot = reinterpret_cast<Object**>(slot_address); |
414 if (heap_->InNewSpace(*slot)) { | 416 if (heap_->InNewSpace(*slot)) { |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 } | 687 } |
686 | 688 |
687 | 689 |
688 void StoreBuffer::CheckForFullBuffer() { | 690 void StoreBuffer::CheckForFullBuffer() { |
689 if (old_limit_ - old_top_ < kStoreBufferSize * 2) { | 691 if (old_limit_ - old_top_ < kStoreBufferSize * 2) { |
690 HandleFullness(); | 692 HandleFullness(); |
691 } | 693 } |
692 } | 694 } |
693 | 695 |
694 } } // namespace v8::internal | 696 } } // namespace v8::internal |
OLD | NEW |