On 2015-07-06 11:25, Pavel Dovgalyuk wrote:
> This patch improves exception handling in MIPS.
> Instructions generate several types of exceptions.
> When exception is generated, it breaks the execution of the current 
> translation
> block. Implementation of the exceptions handling does not correctly
> restore icount for the instruction which caused the exception. In most cases
> icount will be decreased by the value equal to the size of TB.
> This patch passes pointer to the translation block internals to the exception
> handler. It allows correct restoring of the icount value.
> 
> v3 changes:
> This patch stops translation when instruction which always generates exception
> is translated. This improves the performance of the patched version compared
> to original one.
> 
> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru>
> ---
>  target-mips/cpu.h        |   23 +++
>  target-mips/helper.h     |    1 
>  target-mips/msa_helper.c |  158 +++++++++++---------
>  target-mips/op_helper.c  |  169 ++++++++++-----------
>  target-mips/translate.c  |  363 
> ++++++++++++++++++++++------------------------
>  5 files changed, 359 insertions(+), 355 deletions(-)

Reviewed-by: Aurelien Jarno <aurel...@aurel32.net>

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurel...@aurel32.net                 http://www.aurel32.net

Reply via email to