>> Date: Sat, 3 Sep 2016 17:45:28 +0200 >> >> Move the assignments for four local variables a bit at the beginning >> so that they will only be performed if a corresponding memory allocation >> succeeded by this function. … >> @@ -362,10 +362,10 @@ do { *prog++ = BR_OPC | WDISP22(OFF); \ >> >> void bpf_jit_compile(struct bpf_prog *fp) >> { >> - unsigned int cleanup_addr, proglen, oldproglen = 0; >> - u32 temp[8], *prog, *func, seen = 0, pass; >> - const struct sock_filter *filter = fp->insns; >> - int i, flen = fp->len, pc_ret0 = -1; >> + unsigned int cleanup_addr, proglen, oldproglen; >> + u32 temp[8], *prog, *func, seen, pass; >> + const struct sock_filter *filter; >> + int i, flen = fp->len, pc_ret0; >> unsigned int *addrs; >> void *image; >> >> @@ -385,6 +385,10 @@ void bpf_jit_compile(struct bpf_prog *fp) >> } >> cleanup_addr = proglen; /* epilogue address */ >> image = NULL; >> + filter = fp->insns; >> + oldproglen = 0; >> + pc_ret0 = -1; >> + seen = 0; >> for (pass = 0; pass < 10; pass++) { >> u8 seen_or_pass0 = (pass == 0) ? (SEEN_XREG | SEEN_DATAREF | SEEN_MEM) : seen; … > If you were moving the assignments on declaration onto separate lines > at the top of the file then ok, I see another software design option where the transformation result might be looking more pleasing for you again. > but why all the way down here? * How do you think about the reason I gave in the short commit message? * Are you interested in an other software refactoring instead? http://refactoring.com/catalog/reduceScopeOfVariable.html Would you eventually like to move the source code for this for loop into another function? http://refactoring.com/catalog/extractMethod.html Regards, Markus -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html