| OLD | NEW |
| 1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 4107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4118 // newly promoted objects and fix the pointers before the promotion | 4118 // newly promoted objects and fix the pointers before the promotion |
| 4119 // queue gets to them. | 4119 // queue gets to them. |
| 4120 ASSERT(StoreBuffer::store_buffer_mode() != | 4120 ASSERT(StoreBuffer::store_buffer_mode() != |
| 4121 StoreBuffer::kStoreBufferFunctional || | 4121 StoreBuffer::kStoreBufferFunctional || |
| 4122 !Heap::InToSpace(object)); | 4122 !Heap::InToSpace(object)); |
| 4123 if (Heap::InFromSpace(object)) { | 4123 if (Heap::InFromSpace(object)) { |
| 4124 callback(reinterpret_cast<HeapObject**>(slot), HeapObject::cast(object)); | 4124 callback(reinterpret_cast<HeapObject**>(slot), HeapObject::cast(object)); |
| 4125 if (Heap::InNewSpace(*slot)) { | 4125 if (Heap::InNewSpace(*slot)) { |
| 4126 ASSERT(Heap::InToSpace(*slot)); | 4126 ASSERT(Heap::InToSpace(*slot)); |
| 4127 ASSERT((*slot)->IsHeapObject()); | 4127 ASSERT((*slot)->IsHeapObject()); |
| 4128 StoreBuffer::EnterDirectlyIntoStoreBuffer( | 4128 ASSERT(StoreBuffer::CellIsInStoreBuffer( |
| 4129 reinterpret_cast<Address>(slot)); | 4129 reinterpret_cast<Address>(slot))); |
| 4130 } | 4130 } |
| 4131 } | 4131 } |
| 4132 slot_address += kPointerSize; | 4132 slot_address += kPointerSize; |
| 4133 } | 4133 } |
| 4134 } | 4134 } |
| 4135 | 4135 |
| 4136 | 4136 |
| 4137 #ifdef DEBUG | 4137 #ifdef DEBUG |
| 4138 static void CheckStoreBuffer(Object** current, | 4138 static void CheckStoreBuffer(Object** current, |
| 4139 Object** limit, | 4139 Object** limit, |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4224 // Page can contain garbage pointers there. | 4224 // Page can contain garbage pointers there. |
| 4225 Address end; | 4225 Address end; |
| 4226 | 4226 |
| 4227 if (watermark_state == WATERMARK_SHOULD_BE_VALID || | 4227 if (watermark_state == WATERMARK_SHOULD_BE_VALID || |
| 4228 page->IsWatermarkValid()) { | 4228 page->IsWatermarkValid()) { |
| 4229 end = page->AllocationWatermark(); | 4229 end = page->AllocationWatermark(); |
| 4230 } else { | 4230 } else { |
| 4231 end = page->CachedAllocationWatermark(); | 4231 end = page->CachedAllocationWatermark(); |
| 4232 } | 4232 } |
| 4233 | 4233 |
| 4234 | |
| 4235 Address map_aligned_current = page->ObjectAreaStart(); | 4234 Address map_aligned_current = page->ObjectAreaStart(); |
| 4236 | 4235 |
| 4237 ASSERT(map_aligned_current == MapStartAlign(map_aligned_current)); | 4236 ASSERT(map_aligned_current == MapStartAlign(map_aligned_current)); |
| 4238 ASSERT(end == MapEndAlign(end)); | 4237 ASSERT(end == MapEndAlign(end)); |
| 4239 | 4238 |
| 4240 Object*** store_buffer_position = StoreBuffer::Start(); | 4239 Object*** store_buffer_position = StoreBuffer::Start(); |
| 4241 Object*** store_buffer_top = StoreBuffer::Top(); | 4240 Object*** store_buffer_top = StoreBuffer::Top(); |
| 4242 | 4241 |
| 4243 for ( ; map_aligned_current < end; map_aligned_current += Map::kSize) { | 4242 for ( ; map_aligned_current < end; map_aligned_current += Map::kSize) { |
| 4244 ASSERT(!Heap::InNewSpace(Memory::Object_at(map_aligned_current))); | 4243 ASSERT(!Heap::InNewSpace(Memory::Object_at(map_aligned_current))); |
| (...skipping 1265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5510 void ExternalStringTable::TearDown() { | 5509 void ExternalStringTable::TearDown() { |
| 5511 new_space_strings_.Free(); | 5510 new_space_strings_.Free(); |
| 5512 old_space_strings_.Free(); | 5511 old_space_strings_.Free(); |
| 5513 } | 5512 } |
| 5514 | 5513 |
| 5515 | 5514 |
| 5516 List<Object*> ExternalStringTable::new_space_strings_; | 5515 List<Object*> ExternalStringTable::new_space_strings_; |
| 5517 List<Object*> ExternalStringTable::old_space_strings_; | 5516 List<Object*> ExternalStringTable::old_space_strings_; |
| 5518 | 5517 |
| 5519 } } // namespace v8::internal | 5518 } } // namespace v8::internal |
| OLD | NEW |