First post, by ih8registrations
Much of my prior optimizations havn't been added so I'll try to explain what's going on with the changes.
get rid of memory accesses, in exchange do a shift
get rid of jump of if (bool) var++ and similiar code, instead does var+=(bool)
change switch statements <4 to if then (if then is faster than switch <4)
change most common path from dword to word
unroll dyn_savestate & dyn_loadstate explicitly(gprof says it makes dosbox happy)
common path optimizations for cache_openblock
the one line comments were converted from /* */ to // to save me time commenting out large blocks quickly
got rid of the breaks in the large case statement in createcacheblock by reordering and filling in missing cases so that it gets compiled to one big jump table.
bonus is you also see more readily which opcodes are not yet implemented dynamically.
Respond if they break anything.