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