Message ID | 20190223232954.7185-5-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | decodetree enhancements | expand |
On 2/24/19 12:29 AM, Richard Henderson wrote: > As a consequence, the 'return false' gets pushed up one level. > > This will allow us to perform some other action when the > translator returns failure. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > scripts/decodetree.py | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/scripts/decodetree.py b/scripts/decodetree.py > index fb9a0ab3ad..dd495096fc 100755 > --- a/scripts/decodetree.py > +++ b/scripts/decodetree.py > @@ -348,8 +348,8 @@ class Pattern(General): > output(ind, self.base.extract_name(), '(&u.f_', arg, ', insn);\n') > for n, f in self.fields.items(): > output(ind, 'u.f_', arg, '.', n, ' = ', f.str_extract(), ';\n') > - output(ind, 'return ', translate_prefix, '_', self.name, > - '(ctx, &u.f_', arg, ');\n') > + output(ind, 'if (', translate_prefix, '_', self.name, > + '(ctx, &u.f_', arg, ')) return true;\n') > # end Pattern > > > @@ -777,8 +777,8 @@ class Tree: > output(ind, ' /* ', > str_match_bits(innerbits, innermask), ' */\n') > s.output_code(i + 4, extracted, innerbits, innermask) > + output(ind, ' return false;\n') > output(ind, '}\n') > - output(ind, 'return false;\n') > # end Tree > > > @@ -932,6 +932,7 @@ def main(): > output(i4, '} u;\n\n') > > t.output_code(4, False, 0, 0) > + output(i4, 'return false;\n') > > output('}\n') > >
On 2/24/19 12:29 AM, Richard Henderson wrote: > As a consequence, the 'return false' gets pushed up one level. > > This will allow us to perform some other action when the > translator returns failure. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > scripts/decodetree.py | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Cheers, Bastian
diff --git a/scripts/decodetree.py b/scripts/decodetree.py index fb9a0ab3ad..dd495096fc 100755 --- a/scripts/decodetree.py +++ b/scripts/decodetree.py @@ -348,8 +348,8 @@ class Pattern(General): output(ind, self.base.extract_name(), '(&u.f_', arg, ', insn);\n') for n, f in self.fields.items(): output(ind, 'u.f_', arg, '.', n, ' = ', f.str_extract(), ';\n') - output(ind, 'return ', translate_prefix, '_', self.name, - '(ctx, &u.f_', arg, ');\n') + output(ind, 'if (', translate_prefix, '_', self.name, + '(ctx, &u.f_', arg, ')) return true;\n') # end Pattern @@ -777,8 +777,8 @@ class Tree: output(ind, ' /* ', str_match_bits(innerbits, innermask), ' */\n') s.output_code(i + 4, extracted, innerbits, innermask) + output(ind, ' return false;\n') output(ind, '}\n') - output(ind, 'return false;\n') # end Tree @@ -932,6 +932,7 @@ def main(): output(i4, '} u;\n\n') t.output_code(4, False, 0, 0) + output(i4, 'return false;\n') output('}\n')
As a consequence, the 'return false' gets pushed up one level. This will allow us to perform some other action when the translator returns failure. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- scripts/decodetree.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -- 2.17.2