Skip to content
  • John Koleszar's avatar
    New RTCD implementation · a910049a
    John Koleszar authored
    This is a proof of concept RTCD implementation to replace the current
    system of nested includes, prototypes, INVOKE macros, etc. Currently
    only the decoder specific functions are implemented in the new system.
    Additional functions will be added in subsequent commits.
    
    Overview:
      RTCD "functions" are implemented as either a global function pointer
      or a macro (when only one eligible specialization available).
      Functions which have RTCD specializations are listed using a simple
      DSL identifying the function's base name, its prototype, and the
      architecture extensions that specializations are available for.
    
    Advantages over the old system:
      - No INVOKE macros. A call to an RTCD function looks like an ordinary
        function call.
      - No need to pass vtables around.
      - If there is only one eligible function to call, the function is
        called directly, rather than indirecting through a function pointer.
      - Supports the notion of "required" extensions, so in combination with
        t...
    a910049a