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 |