| Index: src/compiler.cc
|
| diff --git a/src/compiler.cc b/src/compiler.cc
|
| index 304807bc626d36356a86d3cc7e13ac4ba721822a..de6c255c1960bb793d953e6cd37d6393e8b54e97 100644
|
| --- a/src/compiler.cc
|
| +++ b/src/compiler.cc
|
| @@ -851,8 +851,14 @@ class InterpreterActivationsFinder : public ThreadVisitor,
|
| JavaScriptFrameIterator it(isolate, top);
|
| for (; !it.done(); it.Advance()) {
|
| JavaScriptFrame* frame = it.frame();
|
| - if (!frame->is_interpreted()) continue;
|
| - if (frame->function()->shared() == shared_) {
|
| + if (FLAG_turbo_from_bytecode && FLAG_ignition_osr &&
|
| + frame->is_optimized() && frame->function()->shared() == shared_) {
|
| + // If we are able to optimize functions directly from bytecode, then
|
| + // there might be optimized OSR code active on the stack that is not
|
| + // reachable through a function. We count this as an activation.
|
| + has_activations_ = true;
|
| + }
|
| + if (frame->is_interpreted() && frame->function()->shared() == shared_) {
|
| has_activations_ = true;
|
| activation_pc_address = frame->pc_address();
|
| }
|
|
|