diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/core.c | 2 | ||||
| -rw-r--r-- | src/core/processors.c | 68 | ||||
| -rw-r--r-- | src/core/processors.h | 9 | 
3 files changed, 24 insertions, 55 deletions
| diff --git a/src/core/core.c b/src/core/core.c index aabff62..5ce07d0 100644 --- a/src/core/core.c +++ b/src/core/core.c @@ -108,8 +108,6 @@ bool load_all_basic_components(void)          register_arch_gtypes(); -        result &= load_hard_coded_processors_definitions(); -          result &= load_hard_coded_collection_definitions();      } diff --git a/src/core/processors.c b/src/core/processors.c index 68fd0f6..631e819 100644 --- a/src/core/processors.c +++ b/src/core/processors.c @@ -34,15 +34,14 @@  #include "../arch/target.h"  #include "../arch/undefined.h"  #include "../arch/operands/register.h" -//#include "../arch/jvm/processor.h"  /* Caractéristiques d'un processeur */  typedef struct _proc_t  { -    char *key;                              /* Clef pour un accès rapide   */ -    char *name;                             /* Désignation humaine         */ +    char *name;                             /* Clef pour un accès rapide   */ +    char *desc;                             /* Désignation humaine         */      GType instance;                         /* Type à manipuler en interne */  } proc_t; @@ -86,8 +85,8 @@ void register_arch_gtypes(void)  /******************************************************************************  *                                                                             * -*  Paramètres  : key      = désignation rapide et interne d'un processeur.    * -*                name     = désignation humaine de l'architecture.            * +*  Paramètres  : name     = désignation rapide et interne d'un processeur.    * +*                desc     = désignation humaine de l'architecture.            *  *                instance = type GLib représentant le type à instancier.      *  *                                                                             *  *  Description : Enregistre un processeur pour une architecture donnée.       * @@ -98,14 +97,14 @@ void register_arch_gtypes(void)  *                                                                             *  ******************************************************************************/ -bool register_processor_type(const char *key, const char *name, GType instance) +bool register_processor_type(const char *name, const char *desc, GType instance)  {      bool result;                            /* Bilan à retourner           */      proc_t *new;                            /* Nouvel élément à définir    */      G_LOCK(_pdef_access); -    new = find_processor_by_key(key); +    new = find_processor_by_key(name);      result = (new == NULL); @@ -116,8 +115,8 @@ bool register_processor_type(const char *key, const char *name, GType instance)          new = &_processors_definitions[_processors_definitions_count - 1]; -        new->key = strdup(key);          new->name = strdup(name); +        new->desc = strdup(desc);          new->instance = instance;      } @@ -133,31 +132,6 @@ bool register_processor_type(const char *key, const char *name, GType instance)  *                                                                             *  *  Paramètres  : -                                                            *  *                                                                             * -*  Description : Charge les définitions de processeurs "natifs".              * -*                                                                             * -*  Retour      : Bilan de l'opération.                                        * -*                                                                             * -*  Remarques   : -                                                            * -*                                                                             * -******************************************************************************/ - -bool load_hard_coded_processors_definitions(void) -{ -    bool result;                            /* Bilan à retourner           */ - -    result = true; - -    //result &= register_processor_type("jvm", "Java Virtual Machine", G_TYPE_JVM_PROCESSOR); - -    return result; - -} - - -/****************************************************************************** -*                                                                             * -*  Paramètres  : -                                                            * -*                                                                             *  *  Description : Décharge toutes les définitions de processeurs.              *  *                                                                             *  *  Retour      : -                                                            * @@ -174,8 +148,8 @@ void unload_processors_definitions(void)      for (i = 0; i < _processors_definitions_count; i++)      { -        free(_processors_definitions[i].key);          free(_processors_definitions[i].name); +        free(_processors_definitions[i].desc);      }      if (_processors_definitions != NULL) @@ -191,7 +165,7 @@ void unload_processors_definitions(void)  /******************************************************************************  *                                                                             * -*  Paramètres  : key = nom technique du processeur recherché.                 * +*  Paramètres  : name = nom technique du processeur recherché.                *  *                                                                             *  *  Description : Retrouve l'enregistrement correspondant à une architecture.  *  *                                                                             * @@ -201,7 +175,7 @@ void unload_processors_definitions(void)  *                                                                             *  ******************************************************************************/ -static proc_t *find_processor_by_key(const char *key) +static proc_t *find_processor_by_key(const char *name)  {      proc_t *result;                         /* Trouvaille à retourner      */      size_t i;                               /* Boucle de parcours          */ @@ -212,9 +186,9 @@ static proc_t *find_processor_by_key(const char *key)      result = NULL; -    if (key != NULL) +    if (name != NULL)          for (i = 0; i < _processors_definitions_count; i++) -            if (strcmp(_processors_definitions[i].key, key) == 0) +            if (strcmp(_processors_definitions[i].name, name) == 0)                  result = &_processors_definitions[i];      return result; @@ -224,7 +198,7 @@ static proc_t *find_processor_by_key(const char *key)  /******************************************************************************  *                                                                             * -*  Paramètres  : key = nom technique du processeur recherché.                 * +*  Paramètres  : name = nom technique du processeur recherché.                *  *                                                                             *  *  Description : Fournit le nom humain de l'architecture visée.               *  *                                                                             * @@ -234,20 +208,20 @@ static proc_t *find_processor_by_key(const char *key)  *                                                                             *  ******************************************************************************/ -const char *get_arch_processor_name(const char *key) +const char *get_arch_processor_description(const char *name)  {      const char *result;                     /* Description à retourner     */      proc_t *def;                            /* Définition d'architecture   */      G_LOCK(_pdef_access); -    def = find_processor_by_key(key); +    def = find_processor_by_key(name);      if (def == NULL)          result = NULL;      else -        result = def->name; -     +        result = def->desc; +      G_UNLOCK(_pdef_access);      return result; @@ -257,9 +231,9 @@ const char *get_arch_processor_name(const char *key)  /******************************************************************************  *                                                                             * -*  Paramètres  : key = nom technique du processeur recherché.                 * +*  Paramètres  : name = nom technique du processeur recherché.                *  *                                                                             * -*  Description : Fournit le processeur d'architecture correspondant à un type.* +*  Description : Fournit le processeur d'architecture correspondant à un nom. *  *                                                                             *  *  Retour      : Processeur d'architecture trouvé.                            *  *                                                                             * @@ -267,14 +241,14 @@ const char *get_arch_processor_name(const char *key)  *                                                                             *  ******************************************************************************/ -GArchProcessor *get_arch_processor_for_type(const char *key) +GArchProcessor *get_arch_processor_for_name(const char *name)  {      GArchProcessor *result;                 /* Instance à retourner        */      proc_t *def;                            /* Définition d'architecture   */      G_LOCK(_pdef_access); -    def = find_processor_by_key(key); +    def = find_processor_by_key(name);      if (def == NULL)          result = NULL; diff --git a/src/core/processors.h b/src/core/processors.h index f202114..975c716 100644 --- a/src/core/processors.h +++ b/src/core/processors.h @@ -38,17 +38,14 @@ void register_arch_gtypes(void);  /* Enregistre un processeur pour une architecture donnée. */  bool register_processor_type(const char *, const char *, GType); -/* Charge les définitions de processeurs "natifs". */ -bool load_hard_coded_processors_definitions(void); -  /* Décharge toutes les définitions de processeurs. */  void unload_processors_definitions(void);  /* Fournit le nom humain de l'architecture visée. */ -const char *get_arch_processor_name(const char *); +const char *get_arch_processor_description(const char *); -/* Fournit le processeur d'architecture correspondant à un type. */ -GArchProcessor *get_arch_processor_for_type(const char *); +/* Fournit le processeur d'architecture correspondant à un nom. */ +GArchProcessor *get_arch_processor_for_name(const char *); | 
