Reland "Update how deoptimization from runtime methods is supported" This reverts commit 79f078d87e410ed6d7b78a3afe8f7008db3601dd. Reason for revert: Relanding after fixing golem failures. Earlier the warning about undeoptimizable functions was logged even before we determined if a deoptimization is required. The fix is to delay this warning. Change-Id: I93e59776cef894053f18b8f9ed8835ad7cb11377