Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for encoding directives, arg groups, length-prefixed e-expressions #796

Merged
merged 14 commits into from
Jul 31, 2024

Commits on Jul 9, 2024

  1. * Adds EncodingDirective variant to SystemStreamItem

    * Adds support for switching encodings midstream
    * Adds support for parameter cardinality modifiers
    * Adds support for reading argument groups
    * Adds support for length-prefixed e-expressions
    * Optimizes and simplifies macro evaluation
    * Simplifies struct expansion logic
    * Adds static analysis optimizations to template evaluation
    * Adds support for lazily evaluating top-level e-expressions
    * Adds more Ion 1.1 encodings to the `read_many_structs` benchmark
    * Shrinks many data types
    
    Switching encodings midstream, initial support for encoding directives
    
    ParameterCardinality, transcribe raw binary 1.1 to text, version switching
    
    refactor transcription, groundwork for variadic params
    
    Adds non-required cardinalities
    
    Read support for binary arg grouping bitmap
    
    binary reader support for arg groups
    
    minor optimizations
    
    allows benchmarks to manually register templates
    
    reworked e-expr parsing
    
    Binary Ion v1.1 uses &'top for value, eexp types
    
    minor optimizations 2
    
    clippy suggestions
    
    per-type read paths for string, int
    
    better
    
    Reworks EncodedValue offset calculation to save on size
    
    Adds support for length-prefixed e-exprs
    
    simplified struct iteration, rewrote eexp parsing
    
    further streamlining of read_sequence_value_expr
    
    Optimization for singleton template macros
    
    Reorganizes read_many_structs benchmark
    
    OneShotMacroEvaluator, EExpArgIterator trait, fixed ion-tests integration
    
    upgradeable MacroEvaluator (OneShot -> Stacked)
    
    Using new macro evaluator at root level
    
    Struct expansion uses new macro evaluator
    
    Optimizations for macro expansion
    
    * Adds `read_resolved` method to the LazyExpandedValue level so
      all Ion-type specific logic can be handled once instead of twice.
    * `MacroExpansion::initialize` now delegates the entire implementation
      the invocation's source kinds instead of dispatching on every method call.
    * Universal singleton macro expansion optimization support.
    
    Revised TemplateCompiler storage
    
    Shrank macro evaluator sizes
    
    simplified macro evaluation logic
    
    +"optimal path" eexp benchmark, more method inlining
    
    s/quote/literal/, clean up read_many_structs benchmark
    
    remove erroneous profile json
    
    Adds try_next! macro for Option<Result<_>> early returns
    
    cleanup
    
    clippy suggestions
    
    fix doc links
    
    more clippy suggestions
    zslayton committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    edcc3f0 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2024

  1. Configuration menu
    Copy the full SHA
    7655771 View commit details
    Browse the repository at this point in the history
  2. Simplifies read_int

    zslayton committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    3591bba View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5b16f51 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    75f17f2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cd32f1b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9b87e8a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    37f62fb View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2024

  1. Configuration menu
    Copy the full SHA
    832eb84 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    85450d3 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. Incorporates feedback

    zslayton committed Jul 23, 2024
    Configuration menu
    Copy the full SHA
    111796a View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. Configuration menu
    Copy the full SHA
    e3f9032 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f60e9f8 View commit details
    Browse the repository at this point in the history
  3. Fixed inner fn definition

    zslayton committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    189d326 View commit details
    Browse the repository at this point in the history