| Index: src/frames.cc | 
| diff --git a/src/frames.cc b/src/frames.cc | 
| index 50a2e21a055d7a9d8f11442f6cfa024d555c71dc..f8e8c81000b115567d651710eefaaac3f2ec12cf 100644 | 
| --- a/src/frames.cc | 
| +++ b/src/frames.cc | 
| @@ -403,6 +403,12 @@ void StackFrame::SetReturnAddressLocationResolver( | 
| return_address_location_resolver_ = resolver; | 
| } | 
|  | 
| +static bool IsInterpreterFramePc(Isolate* isolate, Address pc) { | 
| +  return (pc >= isolate->interpreter_entry_trampoline_start() && | 
| +          pc < isolate->interpreter_entry_trampoline_end()) || | 
| +         (pc >= isolate->interpreter_bytecode_dispatch_start() && | 
| +          pc < isolate->interpreter_bytecode_dispatch_end()); | 
| +} | 
|  | 
| StackFrame::Type StackFrame::ComputeType(const StackFrameIteratorBase* iterator, | 
| State* state) { | 
| @@ -429,6 +435,9 @@ StackFrame::Type StackFrame::ComputeType(const StackFrameIteratorBase* iterator, | 
| Memory::Object_at(state->fp + StandardFrameConstants::kMarkerOffset); | 
| if (marker->IsSmi()) { | 
| return static_cast<StackFrame::Type>(Smi::cast(marker)->value()); | 
| +    } else if (FLAG_ignition && IsInterpreterFramePc(iterator->isolate(), | 
| +                                                     *(state->pc_address))) { | 
| +      return INTERPRETED; | 
| } else { | 
| return JAVA_SCRIPT; | 
| } | 
|  |