| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/frames.h" | 5 #include "src/frames.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <sstream> | 8 #include <sstream> |
| 9 | 9 |
| 10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
| (...skipping 964 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 975 | 975 |
| 976 Object* JavaScriptFrame::context() const { | 976 Object* JavaScriptFrame::context() const { |
| 977 const int offset = StandardFrameConstants::kContextOffset; | 977 const int offset = StandardFrameConstants::kContextOffset; |
| 978 Object* maybe_result = Memory::Object_at(fp() + offset); | 978 Object* maybe_result = Memory::Object_at(fp() + offset); |
| 979 DCHECK(!maybe_result->IsSmi()); | 979 DCHECK(!maybe_result->IsSmi()); |
| 980 return maybe_result; | 980 return maybe_result; |
| 981 } | 981 } |
| 982 | 982 |
| 983 int JavaScriptFrame::LookupExceptionHandlerInTable( | 983 int JavaScriptFrame::LookupExceptionHandlerInTable( |
| 984 int* stack_depth, HandlerTable::CatchPrediction* prediction) { | 984 int* stack_depth, HandlerTable::CatchPrediction* prediction) { |
| 985 Code* code = LookupCode(); | 985 DCHECK_EQ(0, LookupCode()->handler_table()->length()); |
| 986 DCHECK(!code->is_optimized_code()); | 986 DCHECK(!LookupCode()->is_optimized_code()); |
| 987 int pc_offset = static_cast<int>(pc() - code->entry()); | 987 return -1; |
| 988 return code->LookupRangeInHandlerTable(pc_offset, stack_depth, prediction); | |
| 989 } | 988 } |
| 990 | 989 |
| 991 void JavaScriptFrame::PrintFunctionAndOffset(JSFunction* function, | 990 void JavaScriptFrame::PrintFunctionAndOffset(JSFunction* function, |
| 992 AbstractCode* code, | 991 AbstractCode* code, |
| 993 int code_offset, FILE* file, | 992 int code_offset, FILE* file, |
| 994 bool print_line_number) { | 993 bool print_line_number) { |
| 995 PrintF(file, "%s", function->IsOptimized() ? "*" : "~"); | 994 PrintF(file, "%s", function->IsOptimized() ? "*" : "~"); |
| 996 function->PrintName(file); | 995 function->PrintName(file); |
| 997 PrintF(file, "+%d", code_offset); | 996 PrintF(file, "+%d", code_offset); |
| 998 if (print_line_number) { | 997 if (print_line_number) { |
| (...skipping 980 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1979 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { | 1978 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { |
| 1980 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); | 1979 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); |
| 1981 list.Add(frame, zone); | 1980 list.Add(frame, zone); |
| 1982 } | 1981 } |
| 1983 return list.ToVector(); | 1982 return list.ToVector(); |
| 1984 } | 1983 } |
| 1985 | 1984 |
| 1986 | 1985 |
| 1987 } // namespace internal | 1986 } // namespace internal |
| 1988 } // namespace v8 | 1987 } // namespace v8 |
| OLD | NEW |