Public Member Functions | List of all members
microcode_filter_t Struct Referenceabstract

Generic microcode generator class. More...

Inheritance diagram for microcode_filter_t:
udc_filter_t

Public Member Functions

virtual bool match (codegen_t &cdg)=0
 check if the filter object is to be appied More...
 
virtual int apply (codegen_t &cdg)=0
 generate microcode for an instruction More...
 

Detailed Description

Generic microcode generator class.

An instance of a derived class can be registered to be used for non-standard microcode generation. Before microcode generation for an instruction all registered object will be visited by the following way: if ( filter->match(cdg) ) code = filter->apply(cdg); if ( code == MERR_OK ) continue; // filter generated microcode, go to the next instruction

Definition at line 776 of file hexrays.hpp.

Member Function Documentation

virtual int microcode_filter_t::apply ( codegen_t cdg)
pure virtual

generate microcode for an instruction

Returns
MERR_... code: MERR_OK - user-defined call generated, go to the next instruction MERR_INSN - not generated - the caller should try the standard way else - error

Implemented in udc_filter_t.

virtual bool microcode_filter_t::match ( codegen_t cdg)
pure virtual

check if the filter object is to be appied

Returns
success

Implemented in udc_filter_t.