Hi, While reviewing Alvise's LL/SC patches we were discussing how to avoid duplication in some of the re-factoring work. The softmmu_template.h code has a lot of duplication in due to BE and LE helpers. By pushing code into an inline helper we can let the compiler do the hard work of optimising away un-used branches but still keep broadly the same generated code.
The VICTIM_TLB_HIT conversion was a proof of concept which only slightly changes the code ordering in probe_write. The do_unl_store() conversion changes a bit more as removing the goto means the code is inlined twice. This can be fixed. If this RFC seems a sane way to go then I can look at properly re-factoring the code to remove duplication and maybe make the code easier to follow and experiment with as well. Alex Bennée (1): softmmu_template: add smmu_helper, convert VICTIM_TLB_HIT Alvise Rigo (1): softmmu: simplify helper_*_st_name with smmu_helper(do_unl_store) softmmu_template.h | 150 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 85 insertions(+), 65 deletions(-) -- 2.6.4