Lines Matching refs:frame
592 it.frame()->Iterate(v);
599 it.frame()->Iterate(v);
694 reinterpret_cast<void*>(it.frame()->unchecked_code().ptr());
822 // Poison stack frames below the first strict mode frame.
834 // Determines whether the given stack frame should be displayed in a stack
841 // trace. This can be be the first frame (which will be a builtin-exit frame
842 // for the error constructor builtin) or every frame until encountering a
956 // Append async frame corresponding to the {generator_object}.
1104 // find an async frame if we follow along the chain of promises on
1122 StackFrame* frame = it.frame();
1123 switch (frame->type()) {
1135 // A standard frame may include many summarized frames (due to
1138 CommonFrame::cast(frame)->Summarize(&summaries);
1293 JavaScriptFrame* frame = it.frame();
1294 DCHECK(!frame->is_builtin());
1296 Handle<SharedFunctionInfo> shared = handle(frame->function().shared(), this);
1298 int position = frame->position();
1300 Object maybe_script = frame->function().shared().script();
1312 if (frame->is_unoptimized()) {
1313 UnoptimizedFrame* iframe = static_cast<UnoptimizedFrame*>(frame);
1319 return frame->pc();
1337 Handle<StackFrameInfo> frame = summary.CreateStackFrameInfo();
1338 frames_ = FixedArray::SetAndGrow(isolate_, frames_, index_++, frame);
1435 it.frame()->Print(accumulator, mode, i++);
1543 // overflow per frame in generated code, but might call through more smaller
1924 // over the stack and dispatching according to the frame type.
1929 StackFrame* frame = iter.frame();
1931 switch (frame->type()) {
1935 StackHandler* handler = frame->top_handler();
1941 Code code = frame->LookupCode();
1943 return FoundHandler(Context(), code.InstructionStart(this, frame->pc()),
1951 StackHandler* handler = frame->top_handler();
1953 Code code = frame->LookupCode();
1955 Address instruction_start = code.InstructionStart(this, frame->pc());
1956 int return_offset = static_cast<int>(frame->pc() - instruction_start);
1959 // Compute the stack pointer from the frame pointer. This ensures that
1961 Address return_sp = frame->fp() +
1965 code.constant_pool(), return_sp, frame->fp(),
1977 WasmFrame* wasm_frame = static_cast<WasmFrame*>(frame);
1979 wasm::GetWasmCodeManager()->LookupCode(frame->pc());
1983 // Compute the stack pointer from the frame pointer. This ensures that
1985 Address return_sp = frame->fp() +
1994 wasm_code->constant_pool(), return_sp, frame->fp(),
2009 OptimizedFrame* js_frame = static_cast<OptimizedFrame*>(frame);
2010 Code code = frame->LookupCode();
2013 // Compute the stack pointer from the frame pointer. This ensures
2015 Address return_sp = frame->fp() +
2026 offset = static_cast<int>(frame->pc() - code.entry());
2030 return FoundHandler(Context(), code.InstructionStart(this, frame->pc()),
2032 frame->fp(), visited_frames);
2038 StubFrame* stub_frame = static_cast<StubFrame*>(frame);
2041 DCHECK_NULL(wasm::GetWasmCodeManager()->LookupCode(frame->pc()));
2052 // Compute the stack pointer from the frame pointer. This ensures
2054 Address return_sp = frame->fp() +
2058 return FoundHandler(Context(), code.InstructionStart(this, frame->pc()),
2060 frame->fp(), visited_frames);
2065 // For interpreted frame we perform a range lookup in the handler table.
2067 UnoptimizedFrame* js_frame = UnoptimizedFrame::cast(frame);
2074 // Compute the stack pointer from the frame pointer. This ensures that
2077 // materialized by the deoptimizer. If there is a handler frame
2078 // in between then {frame->sp()} would already be correct.
2079 Address return_sp = frame->fp() -
2083 // Patch the bytecode offset in the interpreted frame to reflect the
2091 if (frame->is_baseline()) {
2095 // Patch the context register directly on the frame, so that we don't
2107 // We subtract a frame from visited_frames because otherwise the
2111 // An interpreted frame cannot be the first frame we look at
2112 // because at a minimum, an exit frame into C++ has to separate
2116 code.constant_pool(), return_sp, frame->fp(),
2124 CHECK_EQ(-1, BuiltinFrame::cast(frame)->LookupExceptionHandlerInTable(
2133 JavaScriptBuiltinContinuationWithCatchFrame::cast(frame);
2136 // Reconstruct the stack pointer from the frame pointer.
2140 code.constant_pool(), return_sp, frame->fp(),
2149 if (frame->is_optimized()) {
2150 // Remove per-frame stored materialized objects.
2151 bool removed = materialized_object_store_->Remove(frame->fp());
2155 DCHECK_IMPLIES(removed, frame->LookupCode().marked_for_deoptimization());
2163 HandlerTable::CatchPrediction PredictException(JavaScriptFrame* frame) {
2165 if (frame->is_optimized()) {
2166 if (frame->LookupExceptionHandlerInTable(nullptr, nullptr) > 0) {
2167 // This optimized frame will catch. It's handler table does not include
2171 frame->Summarize(&summaries);
2191 } else if (frame->LookupExceptionHandlerInTable(nullptr, &prediction) > 0) {
2223 StackFrame* frame = iter.frame();
2225 switch (frame->type()) {
2228 Address entry_handler = frame->top_handler()->next_address();
2245 JavaScriptFrame* js_frame = JavaScriptFrame::cast(frame);
2252 Handle<Code> code(frame->LookupCode(), this);
2263 Handle<Code> code(frame->LookupCode(), this);
2341 Handle<CallSiteInfo> frame(CallSiteInfo::cast(frames->get(i)), this);
2342 SerializeCallSiteInfo(this, frame, &builder);
2604 // JavaScript frames on the way to the C++ frame that has the
2610 if (it.done() || (it.frame()->sp() > external_handler_address)) {
2727 StackFrame* frame = it.frame();
2729 if (frame->is_java_script()) {
2730 catch_prediction = PredictException(JavaScriptFrame::cast(frame));
2731 } else if (frame->type() == StackFrame::STUB) {
2732 Code code = frame->LookupCode();
2771 // dependents is found, or a non-async stack frame is encountered, in
2885 (!top_backup_incumbent || it.frame()->sp() < top_backup_incumbent)) {
2886 Context context = Context::cast(it.frame()->context());
5034 it.frame()->GetFunctions(&infos);
5434 bool SaveContext::IsBelowFrame(CommonFrame* frame) {
5435 return (c_entry_fp_ == 0) || (c_entry_fp_ > frame->sp());