[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 19/20] tracing: remove transform.py
From: |
Richard Henderson |
Subject: |
[PATCH v3 19/20] tracing: remove transform.py |
Date: |
Sat, 4 Mar 2023 10:18:59 -0800 |
This file, and a couple of uses, got left behind when the
tcg stuff was removed from tracetool.
Fixes: 126d4123c50a ("tracing: excise the tcg related from tracetool")
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
Cc: Stefan Hajnoczi <stefanha@redhat.com>
---
meson.build | 1 -
scripts/tracetool/__init__.py | 23 -----
scripts/tracetool/transform.py | 168 ---------------------------------
3 files changed, 192 deletions(-)
delete mode 100644 scripts/tracetool/transform.py
diff --git a/meson.build b/meson.build
index e533d6c95b..6bcab8bf0d 100644
--- a/meson.build
+++ b/meson.build
@@ -2861,7 +2861,6 @@ tracetool_depends = files(
'scripts/tracetool/format/log_stap.py',
'scripts/tracetool/format/stap.py',
'scripts/tracetool/__init__.py',
- 'scripts/tracetool/transform.py',
'scripts/tracetool/vcpu.py'
)
diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py
index 5393c7fc5c..33cf85e2b0 100644
--- a/scripts/tracetool/__init__.py
+++ b/scripts/tracetool/__init__.py
@@ -18,7 +18,6 @@
import tracetool.format
import tracetool.backend
-import tracetool.transform
def error_write(*lines):
@@ -190,18 +189,6 @@ def casted(self):
"""List of argument names casted to their type."""
return ["(%s)%s" % (type_, name) for type_, name in self._args]
- def transform(self, *trans):
- """Return a new Arguments instance with transformed types.
-
- The types in the resulting Arguments instance are transformed according
- to tracetool.transform.transform_type.
- """
- res = []
- for type_, name in self._args:
- res.append((tracetool.transform.transform_type(type_, *trans),
- name))
- return Arguments(res)
-
class Event(object):
"""Event description.
@@ -358,16 +345,6 @@ def api(self, fmt=None):
fmt = Event.QEMU_TRACE
return fmt % {"name": self.name, "NAME": self.name.upper()}
- def transform(self, *trans):
- """Return a new Event with transformed Arguments."""
- return Event(self.name,
- list(self.properties),
- self.fmt,
- self.args.transform(*trans),
- self.lineno,
- self.filename,
- self)
-
def read_events(fobj, fname):
"""Generate the output for the given (format, backends) pair.
diff --git a/scripts/tracetool/transform.py b/scripts/tracetool/transform.py
deleted file mode 100644
index ea8b27799d..0000000000
--- a/scripts/tracetool/transform.py
+++ /dev/null
@@ -1,168 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-Type-transformation rules.
-"""
-
-__author__ = "Lluís Vilanova <vilanova@ac.upc.edu>"
-__copyright__ = "Copyright 2012-2016, Lluís Vilanova <vilanova@ac.upc.edu>"
-__license__ = "GPL version 2 or (at your option) any later version"
-
-__maintainer__ = "Stefan Hajnoczi"
-__email__ = "stefanha@redhat.com"
-
-
-def _transform_type(type_, trans):
- if isinstance(trans, str):
- return trans
- elif isinstance(trans, dict):
- if type_ in trans:
- return _transform_type(type_, trans[type_])
- elif None in trans:
- return _transform_type(type_, trans[None])
- else:
- return type_
- elif callable(trans):
- return trans(type_)
- else:
- raise ValueError("Invalid type transformation rule: %s" % trans)
-
-
-def transform_type(type_, *trans):
- """Return a new type transformed according to the given rules.
-
- Applies each of the transformation rules in trans in order.
-
- If an element of trans is a string, return it.
-
- If an element of trans is a function, call it with type_ as its only
- argument.
-
- If an element of trans is a dict, search type_ in its keys. If type_ is
- a key, use the value as a transformation rule for type_. Otherwise, if
- None is a key use the value as a transformation rule for type_.
-
- Otherwise, return type_.
-
- Parameters
- ----------
- type_ : str
- Type to transform.
- trans : list of function or dict
- Type transformation rules.
- """
- if len(trans) == 0:
- raise ValueError
- res = type_
- for t in trans:
- res = _transform_type(res, t)
- return res
-
-
-##################################################
-# tcg -> host
-
-def _tcg_2_host(type_):
- if type_ == "TCGv":
- # force a fixed-size type (target-independent)
- return "uint64_t"
- else:
- return type_
-
-TCG_2_HOST = {
- "TCGv_i32": "uint32_t",
- "TCGv_i64": "uint64_t",
- "TCGv_ptr": "void *",
- None: _tcg_2_host,
- }
-
-
-##################################################
-# host -> host compatible with tcg sizes
-
-HOST_2_TCG_COMPAT = {
- "uint8_t": "uint32_t",
- "uint16_t": "uint32_t",
- }
-
-
-##################################################
-# host/tcg -> tcg
-
-def _host_2_tcg(type_):
- if type_.startswith("TCGv"):
- return type_
- raise ValueError("Don't know how to translate '%s' into a TCG type\n" %
type_)
-
-HOST_2_TCG = {
- "uint32_t": "TCGv_i32",
- "uint64_t": "TCGv_i64",
- "void *" : "TCGv_ptr",
- "CPUArchState *": "TCGv_env",
- None: _host_2_tcg,
- }
-
-
-##################################################
-# tcg -> tcg helper definition
-
-def _tcg_2_helper_def(type_):
- if type_ == "TCGv":
- return "target_ulong"
- else:
- return type_
-
-TCG_2_TCG_HELPER_DEF = {
- "TCGv_i32": "uint32_t",
- "TCGv_i64": "uint64_t",
- "TCGv_ptr": "void *",
- None: _tcg_2_helper_def,
- }
-
-
-##################################################
-# tcg -> tcg helper declaration
-
-def _tcg_2_tcg_helper_decl_error(type_):
- raise ValueError("Don't know how to translate type '%s' into a TCG helper
declaration type\n" % type_)
-
-TCG_2_TCG_HELPER_DECL = {
- "TCGv" : "tl",
- "TCGv_ptr": "ptr",
- "TCGv_i32": "i32",
- "TCGv_i64": "i64",
- "TCGv_env": "env",
- None: _tcg_2_tcg_helper_decl_error,
- }
-
-
-##################################################
-# host/tcg -> tcg temporal constant allocation
-
-def _host_2_tcg_tmp_new(type_):
- if type_.startswith("TCGv"):
- return "tcg_temp_new_nop"
- raise ValueError("Don't know how to translate type '%s' into a TCG
temporal allocation" % type_)
-
-HOST_2_TCG_TMP_NEW = {
- "uint32_t": "tcg_const_i32",
- "uint64_t": "tcg_const_i64",
- "void *" : "tcg_const_ptr",
- None: _host_2_tcg_tmp_new,
- }
-
-
-##################################################
-# host/tcg -> tcg temporal constant deallocation
-
-def _host_2_tcg_tmp_free(type_):
- if type_.startswith("TCGv"):
- return "tcg_temp_free_nop"
- raise ValueError("Don't know how to translate type '%s' into a TCG
temporal deallocation" % type_)
-
-HOST_2_TCG_TMP_FREE = {
- "uint32_t": "tcg_temp_free_i32",
- "uint64_t": "tcg_temp_free_i64",
- "void *" : "tcg_temp_free_ptr",
- None: _host_2_tcg_tmp_free,
- }
--
2.34.1
- Re: [PATCH v3 16/20] target/s390x: Remove assert vs g_in2, (continued)
- [PATCH v3 15/20] target/s390x: Drop tcg_temp_free from translate.c, Richard Henderson, 2023/03/04
- [PATCH v3 14/20] target/s390x: Drop tcg_temp_free from translate_vx.c.inc, Richard Henderson, 2023/03/04
- [PATCH v3 20/20] tcg: Create tcg/tcg-temp-internal.h, Richard Henderson, 2023/03/04
- [PATCH v3 19/20] tracing: remove transform.py,
Richard Henderson <=
- [PATCH v3 18/20] target/tricore: Drop tcg_temp_free, Richard Henderson, 2023/03/04
- [PATCH v3 13/20] target/s390x: Drop free_compare, Richard Henderson, 2023/03/04
- Re: [PATCH v3 00/20] tcg: drop tcg_temp_free from translators, Philippe Mathieu-Daudé, 2023/03/06