You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In future version of public traces (i.e., Google workload traces destined to public release) we want to preserve TRACE_MARKER_TYPE_UNCOMPLETED_INSTRUCTION markers in the resulting public trace.
This marker has as value the partial encoding of the uncompleted instruction.
Partial encoding does not allow us to generate an instr_t that we can then convert with instr_convert_to_isa_regdeps(), so we first need to retrieve the full encoding of the uncompleted instruction.
If we have the binary, the full encoding should be always be the instruction fetch at next PC, and if prior is branch we should have the target.
Another issue we need to solve is that a marker value can only contain up to 8 byte (in 64 bit arches) or a pointer-size amount of partial encoding, while DR_ISA_REGDEPS instruction encodings can be larger than that.
The text was updated successfully, but these errors were encountered:
)
Public traces should never have TRACE_MARKER_TYPE_SIGNAL_NUMBER markers.
Temporarily, we also disallow TRACE_MARKER_TYPE_UNCOMPLETED_INSTRUCTION
markers until we can handle their partial encoding. Eventually we want
to preserve them (xref: #7155).
We add two invariants in invariant_checker to detect the presence of
these markers in REGDEPS traces and raise an invariant error if necessary.
Updated unit tests and end-to-end tests.
Issue #6662#7155
In future version of public traces (i.e., Google workload traces destined to public release) we want to preserve
TRACE_MARKER_TYPE_UNCOMPLETED_INSTRUCTION
markers in the resulting public trace.This marker has as value the partial encoding of the uncompleted instruction.
Partial encoding does not allow us to generate an instr_t that we can then convert with
instr_convert_to_isa_regdeps()
, so we first need to retrieve the full encoding of the uncompleted instruction.If we have the binary, the full encoding should be always be the instruction fetch at next PC, and if prior is branch we should have the target.
Another issue we need to solve is that a marker value can only contain up to 8 byte (in 64 bit arches) or a pointer-size amount of partial encoding, while DR_ISA_REGDEPS instruction encodings can be larger than that.
The text was updated successfully, but these errors were encountered: