| Index: src/log.cc
|
| diff --git a/src/log.cc b/src/log.cc
|
| index 283530358494d80187095668aeb0f24defbb387c..ea81b817c69798f4c5d039b4c50990fe2e6f2591 100644
|
| --- a/src/log.cc
|
| +++ b/src/log.cc
|
| @@ -138,12 +138,14 @@ bool Profiler::paused_ = false;
|
| //
|
| void StackTracer::Trace(TickSample* sample) {
|
| // Assuming that stack grows from lower addresses
|
| - if (sample->sp < sample->fp && sample->fp < low_stack_bound_) {
|
| + if (sample->state != GC
|
| + && (sample->sp < sample->fp && sample->fp < low_stack_bound_)) {
|
| sample->InitStack(1);
|
| sample->stack[0] = Memory::Address_at(
|
| (Address)(sample->fp + StandardFrameConstants::kCallerPCOffset));
|
| } else {
|
| - // FP seems to be in some intermediate state, better discard this sample
|
| + // GC runs or FP seems to be in some intermediate state,
|
| + // better discard this sample
|
| sample->InitStack(0);
|
| }
|
| }
|
|
|