1. A method for hardware/software partitioning, comprising: (a) executing an application's binary in a processor having configurable logic associated therewith; (b) monitoring the executing binary to identify relative execution frequencies of the binary's code regions in order to identify one or more critical and non-critical code regions in the binary; (c) dynamically partitioning the binary between the critical and non-critical code regions; (d) re-implementing the critical code regions in the configurable logic; and (e) updating the binary to access the configurable logic rather than the critical code regions when the binary is executed in the processor.