On 04/07/2011 04:51 AM, Ulrich Weigand wrote: > The interface between the copy_ routines and the install_ routines > seems a bit odd in some cases: mostly, values are just passed as > arguments, but in some cases, they are passed via displaced_step_closure > fields. > The parameter list of some of install_* routines is a little bit long, if we pass values as arguments. > I'd prefer if this were handled in a regular manner: the copy_ > routines parse the insn text, extract all required information > and pass it all as arguments to the install_ routine. The > install_ routine then stores all information that is needed > by the cleanup_ routine into the displaced_step_closure struct. From the consistency's point of view, I am fine with your approach. In this new patch, the following things are changed, 1. Merge 6/8 patch, 2. Pass all values as parameters to install_* routines, 3. Fix install_* routines' arguments order, 4. Change all install_* routines to void method. This patches makes patch 4/8 and 5/8 obsolete. I'll re-send an updated version once this patch is approved. -- Yao (齐尧)