1. 01 Apr, 2020 5 commits
    • Eric Myhre's avatar
      Late night thoughts on reducing gen type count. · 896d0e57
      Eric Myhre authored
      We'll see how this works out.
      896d0e57
    • Eric Myhre's avatar
      ErrInvalidKey type, and use it. · 27873cb0
      Eric Myhre authored
      27873cb0
    • Eric Myhre's avatar
      Checkpoint of codegen'd struct assemblers. · fd94a062
      Eric Myhre authored
      Lots of tasty bitshuffling in this commit.
      
      Remaining: creating, embedding, and returning child value assemblers.
      This might involve a full type per field: doing so would be direct,
      have pretty excellent verbosity in debugging symbols,
      and pointers back to parent suffer no interface indirection;
      overall, it's probably going to have the fastest results.
      However, it would also mean: we can't save resident memory size if we
      have more than one field in a struct that has the same type;
      and we we can't avoid increasing binary size if the same types are used
      as fields in several places.
      Going to pause to think about this for a while.
      fd94a062
    • Eric Myhre's avatar
      Nicely composable NodeBuilderGenerator, +mixins. · 7ff42bd3
      Eric Myhre authored
      This cleans up a lot of stuff and reduces the amount of boilerplate
      content that's just generating monomorphizing error method stubs.
      
      The nodeGenerator mixins now also use the node mixins.  I don't know
      why I failed to do that from the start; I certainly meant to.
      It results in shorter generated code, and the compiler turns it into
      identical assembly.
      7ff42bd3
    • Eric Myhre's avatar
      Checkpoint of struct gen progress. · 80b0ba29
      Eric Myhre authored
      Compiles and runs; but the results don't.
      Some small issues; some big issues.  Just needed a checkpoint.
      
      It's feeling like it's time to deal with breaking down the assembler
      generators in the same way we did for all the node components, which
      is going to be kind of a big shakeup.
      80b0ba29
  2. 29 Mar, 2020 1 commit