Improving Java performance using dynamic method migration on FPGAs