[PATCH] D42582: [lldb][PPC64] Fixed step-in stopping in the wrong line

Jim Ingham via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 26 11:42:45 PST 2018


jingham requested changes to this revision.
jingham added a comment.

I'd go a bit further than Greg, and say the Function should have an API like (might return a reference if the Function holds onto the vector):

struct EntryPointInfo {

  lldb_addr_t entry_point_addr;
  size_t prologue_size;

};

std::vector<EntryPointInfo> Function::GetEntryPointInfo()

}

then the logic in the step in plan could iterate over the vector, comparing the pc to the entry_point_address and skip that entry points prologue size.

That would also alleviate one of my worries about the proposed solution, which is that it assumes that all local entry points have the same prologue size.  That might be true in this case but I can't see why it is necessarily true.  There are some languages that actually support alternate entry points for functions (none that we currently support but still...) which very well might do different amounts of setup work for the frame.  So it wouldn't hurt to do this generally here in the stepping logic.


Repository:
  rL LLVM

https://reviews.llvm.org/D42582





More information about the llvm-commits mailing list