[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 05/12] decodetree: Do not unconditionaly return f
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v3 05/12] decodetree: Do not unconditionaly return from Pattern.output_code |
Date: |
Thu, 7 Mar 2019 10:56:15 -0800 |
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.
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Bastian Koppelmann <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
scripts/decodetree.py | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/scripts/decodetree.py b/scripts/decodetree.py
index e26d8253f2..cc5fa1a8ab 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')
--
2.17.2
- [Qemu-devel] [PATCH v3 00/12] decodetree enhacements, Richard Henderson, 2019/03/07
- [Qemu-devel] [PATCH v3 01/12] MAINTAINERS: Add scripts/decodetree.py to the TCG section, Richard Henderson, 2019/03/07
- [Qemu-devel] [PATCH v3 02/12] decodetree: Move documentation to docs/devel/decodetree.rst, Richard Henderson, 2019/03/07
- [Qemu-devel] [PATCH v3 03/12] decodetree: Document the usefulness of argument sets, Richard Henderson, 2019/03/07
- [Qemu-devel] [PATCH v3 04/12] decodetree: Ensure build_tree does not include values outside insnmask, Richard Henderson, 2019/03/07
- [Qemu-devel] [PATCH v3 05/12] decodetree: Do not unconditionaly return from Pattern.output_code,
Richard Henderson <=
- [Qemu-devel] [PATCH v3 07/12] test/decode: Add tests for PatternGroups, Richard Henderson, 2019/03/07
- [Qemu-devel] [PATCH v3 06/12] decodetree: Allow grouping of overlapping patterns, Richard Henderson, 2019/03/07
- [Qemu-devel] [PATCH v3 08/12] decodetree: Add --static-decode option, Richard Henderson, 2019/03/07
- [Qemu-devel] [PATCH v3 09/12] decodetree: Produce clean output for an empty input file, Richard Henderson, 2019/03/07
- [Qemu-devel] [PATCH v3 11/12] decodetree: Prefix extract function names with decode_function, Richard Henderson, 2019/03/07
- [Qemu-devel] [PATCH v3 10/12] decodetree: Allow +- to begin a number initializing a field, Richard Henderson, 2019/03/07
- [Qemu-devel] [PATCH v3 12/12] decodetree: Properly diagnose fields overflowing an insn, Richard Henderson, 2019/03/07