-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add op access for OpCodeInfo
and Code
#614
base: master
Are you sure you want to change the base?
Conversation
…ums::{OP_ACCESS_1, OP_ACCESS_2}` from `pub(super) static` to `pub(crate) const`
…ut the need of using unsafe blocks
70d3794
to
d5d4411
Compare
d5d4411
to
c1d5e8d
Compare
…ng the generator up to date with the changes in 40f17c3
Makes sense to add those functions to Code/OpCodeInfo. Not sure if OpCodeInfo needs the extra op_accesses field since it can just call the Code functions. One thing missing is tests for all new APIs. Could be a lot more work so maybe I'll add that sometime. Would require (C# code, see generator code) generating a new txt file for at least the Code test that would include the Code value and the OpAccess values, write a parser for it (should be easy, split the line), add the test code somewhere. |
Removed op access from There is one more thing I am not sure about, and that is Also, I could not find any info about |
Iced provides
OpAccess
through theInstructionInfoFactory
interface which does advanced analysis based on concrete operands of an instruction. This merge request aims to add a simplerOpAccess
API which uses data derivable from theCode
enum and does not need full instructions.The code compiles but it is a WORK IN PROGRESS.
Unresolved issues:
InstructionInfo
about how it simplifies operand accesses.src/rust/iced-x86/src/encoder/code_flags.rs
, some of it might be better placed somewhere else.todo!()
-s inCode::op0_access
. I didn't know how some of them should be converted. I would appreciate any feedback/help you can give me.