yurydelendik opened PR #1572 from fix-value-label-resolve
to master
:
There was a bug how value labels were resolved, which caused some DWARF expressions not be transformed, e.g. those are in the registers.
- Patch built on top of #1542
- Documentation for
ValueLocRange
- Proper logic in
ValueLabelRangesBuilder::process_label
- Tests for
ValueLabelRangesBuilder
- Refactor
build_with_locals
to returnIterator
instead ofVec<_>
yurydelendik updated PR #1572 from fix-value-label-resolve
to master
:
There was a bug how value labels were resolved, which caused some DWARF expressions not be transformed, e.g. those are in the registers.
- Patch built on top of #1542
- Documentation for
ValueLocRange
- Proper logic in
ValueLabelRangesBuilder::process_label
- Tests for
ValueLabelRangesBuilder
- Refactor
build_with_locals
to returnIterator
instead ofVec<_>
yurydelendik updated PR #1572 from fix-value-label-resolve
to master
:
There was a bug how value labels were resolved, which caused some DWARF expressions not be transformed, e.g. those are in the registers.
- Patch built on top of #1542
- Documentation for
ValueLocRange
- Proper logic in
ValueLabelRangesBuilder::process_label
- Tests for
ValueLabelRangesBuilder
- Refactor
build_with_locals
to returnIterator
instead ofVec<_>
ggreif submitted PR Review.
ggreif submitted PR Review.
ggreif created PR Review Comment:
.flat_map(move |(wasm_start, wasm_end)| { addr_tr.translate_ranges(*wasm_start, *wasm_end) })
ggreif created PR Review Comment:
// Starting from the end, intersect (range_start..range_end) with
ggreif submitted PR Review.
ggreif submitted PR Review.
ggreif created PR Review Comment:
Courtesy of Haskell's
concatMap
:-)
Potentially a bit faster.
ggreif submitted PR Review.
bjorn3 submitted PR Review.
bjorn3 submitted PR Review.
bjorn3 created PR Review Comment:
Why not
&'a [write::FileId]
? Saves an indirection.
yurydelendik updated PR #1572 from fix-value-label-resolve
to master
:
There was a bug how value labels were resolved, which caused some DWARF expressions not be transformed, e.g. those are in the registers.
- Patch built on top of #1542
- Documentation for
ValueLocRange
- Proper logic in
ValueLabelRangesBuilder::process_label
- Tests for
ValueLabelRangesBuilder
- Refactor
build_with_locals
to returnIterator
instead ofVec<_>
ggreif submitted PR Review.
ggreif created PR Review Comment:
let value_ranges = self.frame_info .and_then(|fi| fi.value_ranges.get(&label)) .unwrap_or({return});
This might be a little more clear. Matter of taste.
ggreif edited PR Review Comment.
yurydelendik updated PR #1572 from fix-value-label-resolve
to master
:
There was a bug how value labels were resolved, which caused some DWARF expressions not be transformed, e.g. those are in the registers.
- Patch built on top of #1542
- Documentation for
ValueLocRange
- Proper logic in
ValueLabelRangesBuilder::process_label
- Tests for
ValueLabelRangesBuilder
- Refactor
build_with_locals
to returnIterator
instead ofVec<_>
ggreif submitted PR Review.
ggreif created PR Review Comment:
It is probably evil. Sorry for this :-/
The only reference a search turned up was https://www.reddit.com/r/rust/comments/86x1fj/unwrap_orreturn/
and I am now convinced, that an eagerly evaluated argumentreturn
when passed tounwrap_or
will exit the function in any case. I will learn a bit more about this antipattern, but don't apply it :skull:!
yurydelendik edited PR #1572 from fix-value-label-resolve
to master
:
There was a bug how value labels were resolved, which caused some DWARF expressions not be transformed, e.g. those are in the registers.
- Implements FIXME in expression.rs
- Move TargetIsa from CompliedExpression structure
- Fix expression format for GDB
- Add tests for parsing
- Proper logic in
ValueLabelRangesBuilder::process_label
- Tests for
ValueLabelRangesBuilder
- Refactor
build_with_locals
to returnIterator
instead ofVec<_>
- Misc comments and magical numbers
ggreif deleted PR Review Comment.
ggreif deleted PR Review Comment.
yurydelendik edited PR #1572 from fix-value-label-resolve
to master
:
There was a bug how value labels were resolved, which caused some DWARF expressions not be transformed, e.g. those are in the registers.
- Implements FIXME in expression.rs
- Move
TargetIsa
fromCompiledExpression
structure- Fix expression format for GDB
- Add tests for parsing
- Proper logic in
ValueLabelRangesBuilder::process_label
- Tests for
ValueLabelRangesBuilder
- Refactor
build_with_locals
to returnIterator
instead ofVec<_>
- Misc comments and magical numbers
yurydelendik updated PR #1572 from fix-value-label-resolve
to master
:
There was a bug how value labels were resolved, which caused some DWARF expressions not be transformed, e.g. those are in the registers.
- Implements FIXME in expression.rs
- Move
TargetIsa
fromCompiledExpression
structure- Fix expression format for GDB
- Add tests for parsing
- Proper logic in
ValueLabelRangesBuilder::process_label
- Tests for
ValueLabelRangesBuilder
- Refactor
build_with_locals
to returnIterator
instead ofVec<_>
- Misc comments and magical numbers
fitzgen submitted PR Review.
fitzgen submitted PR Review.
fitzgen created PR Review Comment:
Tangent: Why aren't we doing
#[derive(Clone)]
forCompiledExpressionPart
? I don't see anything here that is different from what the derive would do.
fitzgen created PR Review Comment:
nit: rm commented out code
fitzgen created PR Review Comment:
Why asserting the debug formatting and not the value itself?
fitzgen created PR Review Comment:
Why not move this
if machine_reg < 32
logic intoGimliWriter::write_op_reg
? That could remove a precondition assertion from that method and some duplication here and below.
fitzgen created PR Review Comment:
// Dereference is needed.
yurydelendik submitted PR Review.
yurydelendik created PR Review Comment:
Not sure. But it is gone: we have
[derive(Clone)]
now.
yurydelendik updated PR #1572 from fix-value-label-resolve
to master
:
There was a bug how value labels were resolved, which caused some DWARF expressions not be transformed, e.g. those are in the registers.
- Implements FIXME in expression.rs
- Move
TargetIsa
fromCompiledExpression
structure- Fix expression format for GDB
- Add tests for parsing
- Proper logic in
ValueLabelRangesBuilder::process_label
- Tests for
ValueLabelRangesBuilder
- Refactor
build_with_locals
to returnIterator
instead ofVec<_>
- Misc comments and magical numbers
ggreif submitted PR Review.
yurydelendik merged PR #1572.
Last updated: Dec 23 2024 at 12:05 UTC