Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: src/frames.h

Issue 2405173007: [Interpreter] Print information about interpreted functions when tracing ics. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/frames.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef V8_FRAMES_H_ 5 #ifndef V8_FRAMES_H_
6 #define V8_FRAMES_H_ 6 #define V8_FRAMES_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/handles.h" 9 #include "src/handles.h"
10 #include "src/safepoint-table.h" 10 #include "src/safepoint-table.h"
(...skipping 853 matching lines...) Expand 10 before | Expand all | Expand 10 after
864 // Architecture-specific register description. 864 // Architecture-specific register description.
865 static Register fp_register(); 865 static Register fp_register();
866 static Register context_register(); 866 static Register context_register();
867 static Register constant_pool_pointer_register(); 867 static Register constant_pool_pointer_register();
868 868
869 static JavaScriptFrame* cast(StackFrame* frame) { 869 static JavaScriptFrame* cast(StackFrame* frame) {
870 DCHECK(frame->is_java_script()); 870 DCHECK(frame->is_java_script());
871 return static_cast<JavaScriptFrame*>(frame); 871 return static_cast<JavaScriptFrame*>(frame);
872 } 872 }
873 873
874 static void PrintFunctionAndOffset(JSFunction* function, Code* code, 874 static void PrintFunctionAndOffset(JSFunction* function, AbstractCode* code,
875 Address pc, FILE* file, 875 int code_offset, FILE* file,
876 bool print_line_number); 876 bool print_line_number);
877 877
878 static void PrintTop(Isolate* isolate, FILE* file, bool print_args, 878 static void PrintTop(Isolate* isolate, FILE* file, bool print_args,
879 bool print_line_number); 879 bool print_line_number);
880 880
881 protected: 881 protected:
882 inline explicit JavaScriptFrame(StackFrameIteratorBase* iterator); 882 inline explicit JavaScriptFrame(StackFrameIteratorBase* iterator);
883 883
884 Address GetCallerStackPointer() const override; 884 Address GetCallerStackPointer() const override;
885 885
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 977
978 // Access to the interpreter register file for this frame. 978 // Access to the interpreter register file for this frame.
979 Object* ReadInterpreterRegister(int register_index) const; 979 Object* ReadInterpreterRegister(int register_index) const;
980 void WriteInterpreterRegister(int register_index, Object* value); 980 void WriteInterpreterRegister(int register_index, Object* value);
981 981
982 // Build a list with summaries for this frame including all inlined frames. 982 // Build a list with summaries for this frame including all inlined frames.
983 void Summarize( 983 void Summarize(
984 List<FrameSummary>* frames, 984 List<FrameSummary>* frames,
985 FrameSummary::Mode mode = FrameSummary::kExactSummary) const override; 985 FrameSummary::Mode mode = FrameSummary::kExactSummary) const override;
986 986
987 static int GetBytecodeOffset(Address fp);
988
987 protected: 989 protected:
988 inline explicit InterpretedFrame(StackFrameIteratorBase* iterator); 990 inline explicit InterpretedFrame(StackFrameIteratorBase* iterator);
989 991
990 Address GetExpressionAddress(int n) const override; 992 Address GetExpressionAddress(int n) const override;
991 993
992 private: 994 private:
993 friend class StackFrameIteratorBase; 995 friend class StackFrameIteratorBase;
994 }; 996 };
995 997
996 998
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
1321 1323
1322 1324
1323 // Reads all frames on the current stack and copies them into the current 1325 // Reads all frames on the current stack and copies them into the current
1324 // zone memory. 1326 // zone memory.
1325 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); 1327 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone);
1326 1328
1327 } // namespace internal 1329 } // namespace internal
1328 } // namespace v8 1330 } // namespace v8
1329 1331
1330 #endif // V8_FRAMES_H_ 1332 #endif // V8_FRAMES_H_
OLDNEW
« no previous file with comments | « no previous file | src/frames.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698