vsk added inline comments.

================
Comment at: lldb/include/lldb/Symbol/Function.h:258
+
+using CallSiteParameterArray = std::unique_ptr<std::vector<CallSiteParameter>>;
+
----------------
aprantl wrote:
> vsk wrote:
> > grandinj wrote:
> > > the way this is being used seems to indicate it can be 
> > >    std::vector<CallSiteParameter>
> > > no need for unique_ptr
> > That's a totally fair point. The reason I've used unique_ptr here is to 
> > save space in CallEdge in the common case, where no call site information 
> > is loaded for the function. Call site info is lazily parsed, so we'd like 
> > to take a minimal memory hit for functions that aren't in a backtrace.
> > 
> > Also, note that using a pointer allows for a further PointerIntPair memory 
> > optimization mentioned below.
> Can you document this decision up there?
Done. And, thanks @grandinj for pointing this out, I dug a bit more and found 
that we're *not* doing this in Function for the CallEdge vector, but probably 
should be. Added a TODO there.


================
Comment at: lldb/include/lldb/Symbol/Function.h:249
 
+/// \class CallSiteParameter Function.h "lldb/Symbol/Function.h"
+///
----------------
aprantl wrote:
> Out of curiosity: What's the effect of this line? It appears to have totally 
> redundant information in it that Doxygen should already know about.
No clue. I saw it elsewhere in this file and wanted to stick to the established 
format. It could be worth simplifying later, though.


================
Comment at: lldb/source/Expression/DWARFExpression.cpp:1136
+    if (parent_frame && !parent_frame->IsInlined())
+      break;
+  }
----------------
aprantl wrote:
> What does it mean if there is a null parent_frame and shouldn't we return 
> false in that case?
Yes, we should detect this and fail early.


================
Comment at: lldb/source/Expression/DWARFExpression.cpp:2672
     case DW_OP_push_object_address:
+      // TODO: Reject DW_OP_push_object_address within entry value exprs.
       if (object_address_ptr)
----------------
aprantl wrote:
> because...?
Actually, rejecting DW_OP_push_object_address requires no special handling. 
Instead we need a TODO about actually supporting it: that belongs in the 
Evaluate_DW_OP_entry_value.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67376/new/

https://reviews.llvm.org/D67376



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to