Chromium Code Reviews| Index: src/frames.cc |
| diff --git a/src/frames.cc b/src/frames.cc |
| index 7b847974fdc775ef619336a71603200c25c970fc..c6ee65dec6f9ab039ee4c0f7fc471df52bd13d10 100644 |
| --- a/src/frames.cc |
| +++ b/src/frames.cc |
| @@ -439,6 +439,19 @@ StackFrame::Type StackFrame::ComputeType(const StackFrameIteratorBase* iterator, |
| return JAVA_SCRIPT; |
| case Code::OPTIMIZED_FUNCTION: |
| return OPTIMIZED; |
| + case Code::BUILTIN: |
|
titzer
2015/10/15 17:01:55
Are interpreter frames really only identifiable th
rmcilroy
2015/10/15 19:47:47
The marker is not a SMI (it's a tagged JSFunction
|
| + if (!marker->IsSmi()) { |
| + if (StandardFrame::IsArgumentsAdaptorFrame(state->fp)) { |
| + // An adapter frame has a special SMI constant for the context and |
| + // is not distinguished through the marker. |
| + return ARGUMENTS_ADAPTOR; |
| + } else { |
| + // The interpreter entry trampoline has a non-SMI marker. |
| + DCHECK(code_obj->is_interpreter_entry_trampoline()); |
| + return INTERPRETED; |
| + } |
| + } |
| + break; // Marker encodes the frame type. |
| case Code::HANDLER: |
| if (!marker->IsSmi()) { |
| // Only hydrogen code stub handlers can have a non-SMI marker. |
| @@ -451,12 +464,6 @@ StackFrame::Type StackFrame::ComputeType(const StackFrameIteratorBase* iterator, |
| } |
| } |
| - if (StandardFrame::IsArgumentsAdaptorFrame(state->fp)) { |
| - // An adapter frame has a special SMI constant for the context and |
| - // is not distinguished through the marker. |
| - return ARGUMENTS_ADAPTOR; |
| - } |
| - |
| // Didn't find a code object, or the code kind wasn't specific enough. |
| // The marker should encode the frame type. |
| return static_cast<StackFrame::Type>(Smi::cast(marker)->value()); |