]> git.proxmox.com Git - mirror_qemu.git/commit - target-sh4/helper.h
target-sh4: rework exceptions handling
authorAurelien Jarno <aurelien@aurel32.net>
Sun, 16 Sep 2012 11:12:21 +0000 (13:12 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Fri, 21 Sep 2012 17:53:16 +0000 (19:53 +0200)
commit1012740098d0307ce5d957ebbe9a7f020da7f574
treef7be3fd3b6e8572b871bb6adf4e424b0b4bbe32c
parented22e6f30e7f8c723f9b1be30869b9c0368e3e4e
target-sh4: rework exceptions handling

Since commit fd4bab102 PC is restored in case of exception through code
retranslation. While it is clearly the thing to do in case it is not
not known if an helper is going to trigger an exception or not
(e.g. for load/store, FPU, etc.), it just make things slower when the
exception is already known at translation time.

Partially revert this commit and save PC in the TCG code. Set bstate to
BS_BRANCH to not generate TCG exit code. Micro-optimize the sleep
helper. Make all the exception helpers to call raise_exception and mark
it as noreturn.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-sh4/helper.h
target-sh4/op_helper.c
target-sh4/translate.c