clayborg requested changes to this revision. clayborg added a comment. This revision now requires changes to proceed.
DWARF already has support for this using location lists. I would rather see this done by having the DWARF parser modify the DWARF expression to be a location list based. I don't mean have the compiler change, but just how we store the location in the variable. This would mean the ONLY change will be in the DWARF parser. We don't need to track any ranges or anything in the variable this way. So if you have a variable: DW_TAG_subprogram: DW_AT_name("main") DW_AT_low_pc(0x1000) DW_AT_high_pc(0x2000) DW_TAG_variable: DW_AT_name("a") DW_AT_start_scope (0x20) DW_AT_location (0x11 0x22 0x33) (location is described by a block of DW_OP_expression bytes) Then we would make a location list expression where the DWARFExpression's type is switched from: NonLocationList with bytes of 0x11, 0x22, 0x33 over to a DWARFExpression whose type is: RegularLocationList with [0x1020-0x2000): 0x11, 0x22, 0x33 If that doesn't make sense let me know. If we do this, then the ONLY change is in the DWARF parser since we already support location list based expressions. http://reviews.llvm.org/D17449 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits