Lines Matching refs:frame

17 // Frame inheritance hierarchy (please keep in sync with frame-constants.h):
131 // Used by FrameScope to indicate that the stack frame is constructed
137 // Used to mark the outermost JS entry frame.
158 // Convert a stack frame type to a marker that can be stored on the stack.
173 // Convert a marker back to a stack frame type.
181 // invalid frame markers.
195 // Check if a marker is a stack frame type marker or a tagged pointer.
197 // Returns true if the given marker is tagged as a stack frame type marker,
198 // and should be converted back to a stack frame type using MarkerToType.
262 // be signed, as the PC of the frame.
276 // Get the id of this stack frame.
282 // Get the type of this frame.
285 // Get the code associated with this frame.
289 // Search for the code associated with this frame.
320 // Compute the stack pointer for the calling frame.
323 // Compute the stack frame type for the given state.
337 // Fill in the state of the calling frame.
340 // Get the type and the state of the calling frame.
444 static FrameSummary GetTop(const CommonFrame* frame);
445 static FrameSummary GetBottom(const CommonFrame* frame);
446 static FrameSummary GetSingle(const CommonFrame* frame);
447 static FrameSummary Get(const CommonFrame* frame, int index);
488 // Access the expressions in the stack frame including locals.
495 // Build a list with summaries for this frame including all inlined frames.
500 static CommonFrame* cast(StackFrame* frame) {
502 return static_cast<CommonFrame*>(frame);
514 // Computes the address of the PC field in the standard frame given
515 // by the provided frame pointer.
519 // frame given by the provided frame pointer.
558 // Determine the code for the frame.
562 // returns data associated with the handler site specific to the frame type:
568 // Check if this frame is a constructor frame invoked through 'new'.
577 // Determines if the standard frame for the given frame pointer is a
578 // construct frame.
607 // Check if this frame is a constructor frame invoked through 'new'.
610 // Determines whether this frame includes inlined activations. To get details
621 // Return a list with {SharedFunctionInfo} objects of this frame.
631 static JavaScriptFrame* cast(StackFrame* frame) {
632 DCHECK(frame->is_java_script());
633 return static_cast<JavaScriptFrame*>(frame);
686 static EntryFrame* cast(StackFrame* frame) {
687 DCHECK(frame->is_entry());
688 return static_cast<EntryFrame*>(frame);
695 // real information about the caller frame is available through the
696 // link to the top exit frame.
712 static ConstructEntryFrame* cast(StackFrame* frame) {
713 DCHECK(frame->is_construct_entry());
714 return static_cast<ConstructEntryFrame*>(frame);
733 static ExitFrame* cast(StackFrame* frame) {
734 DCHECK(frame->is_exit());
735 return static_cast<ExitFrame*>(frame);
738 // Compute the state and type of an exit frame given a frame
739 // pointer. Used when constructing the first stack frame seen by an
769 // Check if this frame is a constructor frame invoked through 'new'.
794 // Determine the code for the frame.
815 // Return a list with {SharedFunctionInfo} objects of this frame.
841 // An unoptimized frame is a JavaScript frame that is executing bytecode. It
856 // Returns the frame's current bytecode array.
859 // Access to the interpreter register file for this frame.
862 // Build a list with summaries for this frame including all inlined frames.
865 static UnoptimizedFrame* cast(StackFrame* frame) {
866 DCHECK(frame->is_unoptimized());
867 return static_cast<UnoptimizedFrame*>(frame);
890 // Updates the frame's BytecodeArray with |bytecode_array|. Used by the
894 static InterpretedFrame* cast(StackFrame* frame) {
895 DCHECK(frame->is_interpreted());
896 return static_cast<InterpretedFrame*>(frame);
898 static const InterpretedFrame* cast(const StackFrame* frame) {
899 DCHECK(frame->is_interpreted());
900 return static_cast<const InterpretedFrame*>(frame);
923 static BaselineFrame* cast(StackFrame* frame) {
924 DCHECK(frame->is_baseline());
925 return static_cast<BaselineFrame*>(frame);
941 static BuiltinFrame* cast(StackFrame* frame) {
942 DCHECK(frame->is_builtin());
943 return static_cast<BuiltinFrame*>(frame);
984 static WasmFrame* cast(StackFrame* frame) {
985 DCHECK(frame->is_wasm());
986 return static_cast<WasmFrame*>(frame);
1019 static WasmDebugBreakFrame* cast(StackFrame* frame) {
1020 DCHECK(frame->is_wasm_debug_break());
1021 return static_cast<WasmDebugBreakFrame*>(frame);
1090 static WasmCompileLazyFrame* cast(StackFrame* frame) {
1091 DCHECK(frame->is_wasm_compile_lazy());
1092 return static_cast<WasmCompileLazyFrame*>(frame);
1110 static InternalFrame* cast(StackFrame* frame) {
1111 DCHECK(frame->is_internal());
1112 return static_cast<InternalFrame*>(frame);
1128 static ConstructFrame* cast(StackFrame* frame) {
1129 DCHECK(frame->is_construct());
1130 return static_cast<ConstructFrame*>(frame);
1144 static BuiltinContinuationFrame* cast(StackFrame* frame) {
1145 DCHECK(frame->is_builtin_continuation());
1146 return static_cast<BuiltinContinuationFrame*>(frame);
1160 static JavaScriptBuiltinContinuationFrame* cast(StackFrame* frame) {
1161 DCHECK(frame->is_java_script_builtin_continuation());
1162 return static_cast<JavaScriptBuiltinContinuationFrame*>(frame);
1186 static JavaScriptBuiltinContinuationWithCatchFrame* cast(StackFrame* frame) {
1187 DCHECK(frame->is_java_script_builtin_with_catch_continuation());
1188 return static_cast<JavaScriptBuiltinContinuationWithCatchFrame*>(frame);
1192 // frame.
1229 // Get the type-specific frame singleton in a given state.
1253 StackFrame* frame() const {
1261 // Go back to the first frame.
1274 inline JavaScriptFrame* frame() const;
1285 // NOTE: The stack trace frame iterator is an iterator that only traverse proper
1291 // Skip frames until the frame with the given id is reached.
1298 inline CommonFrame* frame() const;
1313 static bool IsValidFrame(StackFrame* frame);
1322 inline StackFrame* frame() const;
1334 bool IsValidFrame(StackFrame* frame) const;
1335 bool IsValidCaller(StackFrame* frame);
1339 // Returns true if the pc points to a bytecode handler and the frame pointer
1340 // doesn't seem to be a bytecode handler's frame, which implies that the
1341 // bytecode handler has an elided frame. This is not precise and might give
1342 // false negatives since it relies on checks to the frame's type marker,
1359 // How to calculate the frame layout information. Precise, when all information
1368 // and it is not that important to get the exact frame height at compile-time.
1374 // Used by the deoptimizer. Corresponds to frame kinds: