/art/runtime/arch/arm64/ |
H A D | context_arm64.cc | 42 void Arm64Context::FillCalleeSaves(uint8_t* frame, const QuickMethodFrameInfo& frame_info) { argument 47 gprs_[core_reg] = CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes()); 54 fprs_[fp_reg] = CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes());
|
/art/runtime/arch/ |
H A D | context.h | 31 // the quick stack frame layout. 42 static uintptr_t* CalleeSaveAddress(uint8_t* frame, int num, size_t frame_size) { argument 43 // Callee saves are held at the top of the frame 44 uint8_t* save_addr = frame + frame_size - ((num + 1) * sizeof(void*)); 51 // Reads values from callee saves in the given frame. The frame also holds 53 virtual void FillCalleeSaves(uint8_t* frame, const QuickMethodFrameInfo& fr) = 0;
|
/art/runtime/arch/mips/ |
H A D | context_mips.cc | 39 void MipsContext::FillCalleeSaves(uint8_t* frame, const QuickMethodFrameInfo& frame_info) { argument 44 gprs_[core_reg] = CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes()); 51 fprs_[fp_reg] = CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes());
|
/art/runtime/arch/mips64/ |
H A D | context_mips64.cc | 39 void Mips64Context::FillCalleeSaves(uint8_t* frame, const QuickMethodFrameInfo& frame_info) { argument 44 gprs_[core_reg] = CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes()); 51 fprs_[fp_reg] = CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes());
|
/art/runtime/arch/arm/ |
H A D | context_arm.cc | 40 void ArmContext::FillCalleeSaves(uint8_t* frame, const QuickMethodFrameInfo& frame_info) { argument 47 gprs_[core_reg] = CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes()); 54 fprs_[fp_reg] = CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes());
|
/art/runtime/arch/x86/ |
H A D | context_x86.cc | 38 void X86Context::FillCalleeSaves(uint8_t* frame, const QuickMethodFrameInfo& frame_info) { argument 46 gprs_[core_reg] = CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes()); 57 CalleeSaveAddress(frame, spill_pos + 1, frame_info.FrameSizeInBytes())); 59 CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes()));
|
/art/runtime/arch/x86_64/ |
H A D | context_x86_64.cc | 38 void X86_64Context::FillCalleeSaves(uint8_t* frame, const QuickMethodFrameInfo& frame_info) { argument 46 gprs_[core_reg] = CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes()); 56 CalleeSaveAddress(frame, spill_pos, frame_info.FrameSizeInBytes()));
|
/art/runtime/ |
H A D | quick_exception_handler.cc | 70 // This is the upcall, we remember the frame and last pc so that we may long jump to them. 119 // We are going to unwind this frame. Did we prepare a shadow frame for debugging? 121 ShadowFrame* frame = GetThread()->FindDebuggerShadowFrame(frame_id); local 122 if (frame != nullptr) { 123 // We will not execute this shadow frame so we can safely deallocate it. 125 ShadowFrame::DeleteDeoptimizedFrame(frame); 308 // This is the upcall (or the next full frame in single-frame deopt), we remember the frame [all...] |
H A D | instrumentation.cc | 167 // Places the instrumentation exit pc as the return PC for every quick frame. This also allows 169 // Since we may already have done this previously, we need to push new instrumentation frame before 196 LOG(INFO) << "Pushing shadow frame " << instrumentation_frame.Dump(); 208 const InstrumentationStackFrame& frame = local 210 CHECK(frame.interpreter_entry_); 211 // This is an interpreter frame so method enter event must have been reported. However we 215 last_return_pc_ = frame.return_pc_; 230 // We've reached a frame which has already been installed with instrumentation exit stub. 235 const InstrumentationStackFrame& frame = local 237 CHECK_EQ(m, frame [all...] |
H A D | stack.h | 137 // Create a shadow frame in a fresh alloca. This needs to be in the context of the caller. 188 void SetLink(ShadowFrame* frame) { argument 189 DCHECK_NE(this, frame); 190 link_ = frame; 439 // Link to previous shadow frame or null. 465 inline void operator()(ShadowFrame* frame) { argument 466 if (frame != nullptr) { 467 frame->~ShadowFrame(); 486 // may either be shadow frames or lists of frames using fixed frame sizes. Transition records are 487 // necessary for transitions between code using different frame layout 537 ShadowFrame* frame = top_shadow_frame_; local [all...] |
H A D | debugger.cc | 2336 return true; // The debugger can't do anything useful with a frame that has no Method*. 2484 // Walks the stack until we find the frame with the given FrameId. 2497 return true; // Not our frame, carry on. 2504 // We found our frame. 2534 // Find the frame with the given frame_id. 2705 // Find the frame with the given frame_id. 2815 // If we set the local variable in a compiled frame, we need to trigger a deoptimization of 2900 * frame, in which case this exception is considered uncaught. 3040 // different and the frame depth is <= the original frame 3588 ShadowFrame* frame = GetThread()->FindDebuggerShadowFrame(GetFrameId()); local [all...] |
/art/runtime/hprof/ |
H A D | hprof.cc | 678 const gc::AllocRecordStackTraceElement* frame = &trace->GetStackElement(i); local 679 ArtMethod* method = frame->GetMethod(); 683 // ID: stack frame ID. We use the address of the AllocRecordStackTraceElement object as its ID. 689 auto frame_result = frames_.find(frame); 702 __ AddU4(frame->ComputeLineNumber()); 711 // [ID]*: series of stack frame ID's 716 const gc::AllocRecordStackTraceElement* frame = &trace->GetStackElement(i); local 717 auto frame_result = frames_.find(frame); 845 const gc::AllocRecordStackTraceElement* frame = &trace->GetStackElement(i); local 846 auto frames_result = frames_.find(frame); [all...] |