||Calculate value in DWARF expression
This is an alternate to <a href="http://dwarfstd.org/ShowIssue.php?issue=071227.1&type=open">Issue 071227.1</a>,
Modifications to section 2.4, "DWARF Expdressions"
This is a proposal for a typed stack with polymorphic
operators. I've marked up (in HTML) version of Sections
2.5 and 2.6 of the DWARF spec (using Ron's updated version
of Section 2.6), with all the new material highlighted
in green, and replaced material highlighted in red and
struck through. You can view it here: <a href="doc/040408.1.html">Modified Sections</a>
In summary, I've done the following:
1. Changed the language where it talks about a stack of
address-sized entries, and changed it to a stack of
typed entries, where the available types are those base
types supported by the target machine.
2. Added some non-normative notes about quality-of-
implementation and accuracy of floating-point arithmetic.
3. Added a set of DW_OP_const*_type operations to push
constants of a given type onto the stack.
4. Added DW_OP_regval and DW_OP_regval_type operations to
push the value of a register onto the stack: the former
with an implicit integral type, the latter with an explicit type.
5. Added DW_OP_deref_type and DW_OP_xderef_type operations to
dereference a pointer and load a value from memory with an
6. Added notes about dyadic operations requiring operands of
the same type, and certain operations that require integral values.
7. Added DW_OP_convert to convert a value from one type to another.
8. Added DW_OP_value to mark the top of stack as a value rather
than a location.
9. Added DW_OP_readonly to mark the location on the top of the
stack as read-only.
10. Added some extra example location descriptions.
Rejected in favor of 071227.1.