HUGE commit on refactoring libasm-ia32. First one in nearly 4 years! \o/
Most of the work in using the universal operand type flags (ASM_OPTYPE_* vs. the old ASM_OP_*) is done. The main trick here was the inclusion of a new field to operands, 'memtype', that now holds the OP_* flags for ASM_OPTYPE_MEM operands, so that useful information is not lost. This work is not finished, though. Two files in libasm/src/, operand.c and generic.c, still have mentions to OP_*. Right now I'm very confused by this code, that looks quite intel-oriented and largely unorganized. It is a bit delicate too, since flowjack relies directly on it. I need to take a good step back to understand this code and reassess our strategy. Libasm sure needs some heavy refactoring, but I'm not convinced the one we're doing is the right now. Fixed indentation issues. Introduced indentation issues. Fixed many mind-blowing bugs. Libasm is currently very fragile and will need tests with maximum coverage once we're done here. Strauss
Loading
Please register or sign in to comment