|
|
|
Lines 25-41
StoreBuffer::GenericBuffer::trace(StoreBuffer* owner, JSTracer* trc)
|
Link Here
|
|---|
|
| 25 |
mozilla::ReentrancyGuard g(*owner); |
25 |
mozilla::ReentrancyGuard g(*owner); |
| 26 |
MOZ_ASSERT(owner->isEnabled()); |
26 |
MOZ_ASSERT(owner->isEnabled()); |
| 27 |
if (!storage_) |
27 |
if (!storage_) |
| 28 |
return; |
28 |
return; |
| 29 |
|
29 |
|
| 30 |
for (LifoAlloc::Enum e(*storage_); !e.empty();) { |
30 |
for (LifoAlloc::Enum e(*storage_); !e.empty();) { |
| 31 |
unsigned size = *e.get<unsigned>(); |
31 |
unsigned size = *e.get<unsigned>(); |
| 32 |
e.popFront<unsigned>(); |
32 |
e.popFront<unsigned>(); |
| 33 |
BufferableRef* edge = e.get<BufferableRef>(size); |
33 |
auto* edge = e.get<BufferableRef>(size); |
| 34 |
edge->trace(trc); |
34 |
edge->trace(trc); |
| 35 |
e.popFront(size); |
35 |
e.popFront(size); |
| 36 |
} |
36 |
} |
| 37 |
} |
37 |
} |
| 38 |
|
38 |
|
| 39 |
bool |
39 |
bool |
| 40 |
StoreBuffer::enable() |
40 |
StoreBuffer::enable() |
| 41 |
{ |
41 |
{ |