I'm not sure how one could get much simpler than libjit. The first time I read the documentation I had a working jit for a toy language five minutes later, and less than a week after that I was jit-compiling Ruby code (not the full language, obviously, just a subset). It really is a pleasure to use, since the API is based on normal C functions instead of macros.