1. 14 Dec, 2018 1 commit
  2. 06 Aug, 2018 1 commit
  3. 25 May, 2018 1 commit
    • John Kessenich's avatar
      PP: Implement locale-independent strtod, using istringstream and a fast path. · 3e8e9f7b
      John Kessenich authored
      Fixes #1228. Fixes #234.
      
      This uses imbue() to be locale independent.  Notes:
      
      - 'sstream >> double' is much slower than strtod()
        * this was measurable in the test suite as a whole, despite being
          a tiny fraction of what the test suite does
      - so, this embeds a fast path that bypasses sstream most of the time
        => the test suite is faster than before
      - sstream is probably slower, because it does more accurate rounding than strtod()
      - sstream does not create INFINITY by itself, this was done based on failure inferencing
      3e8e9f7b
  4. 06 Jan, 2017 2 commits
  5. 21 Dec, 2016 1 commit
  6. 20 Dec, 2016 1 commit
    • John Kessenich's avatar
      PP: Non-functional: Remove custom allocator and related improvements. · b8387c87
      John Kessenich authored
      Removed the preprocesser memory pool.
      
      Removed extra copies and unnecessary allocations of objects related to the ones
      that were using the pool.
      
      Replaced some allocated pointers with objects instead, generally using more
      modern techiques. There end up being fewer memory allocations/deletions to get right.
      
      Overall combined effect of all changes is to use slightly less memory and
      run slightly faster (< 1% for both, but noticable).
      
      As part of simplifying the code base, this change makes it easier to see
      PP symbol tracking, which I suspect has an even bigger run-time simplification
      to make.
      b8387c87
  7. 05 Aug, 2016 1 commit
  8. 21 Mar, 2016 1 commit
    • Andrew Woloszyn's avatar
      Updated the includer interface to allow relative includes. · a132af5b
      Andrew Woloszyn authored
      This plumbs both the current file path and the include depth
      back up to the includer. This allows the includer to properly
      support relative paths.
      
      This also replaces the string copy that was done during include
      with a zero-copy method of accomplishing the same thing. This
      prevents extra copies of entire files.
      a132af5b
  9. 13 Mar, 2016 1 commit
  10. 31 Jul, 2015 1 commit
    • Dejan Mircevski's avatar
      Add #include processing to glslang (though turned off by default). · 7be4b828
      Dejan Mircevski authored
      When an include directive is recognized by the preprocessor, it
      executes a callback on the filepath argument to obtain the file
      contents.  That way the compilation client can deal with the file
      system, include paths, etc.
      
      Currently only accepts quoted filepaths -- no angle brackets yet.
      7be4b828
  11. 20 Jul, 2015 1 commit
    • John Kessenich's avatar
      Preprocessor: 1) Rationalize the "fixed atom" scheme, 2) remove redundant... · 6ab3d582
      John Kessenich authored
      Preprocessor: 1) Rationalize the "fixed atom" scheme, 2) remove redundant lookups when the text is already available.
      
      This simplification is a prelude to eliminating what I appear unnecessary
      symbol inserts into tables when tokenizing in the preprecessor, which
      show up as taking notable time. (Performance issue.)  It also simply makes
      the preprocessor easier to understand, which it is badly in need of.
      6ab3d582
  12. 15 May, 2015 1 commit
  13. 30 Dec, 2013 1 commit
  14. 04 Dec, 2013 2 commits
  15. 03 Dec, 2013 1 commit
  16. 19 Nov, 2013 1 commit
  17. 12 Nov, 2013 1 commit
  18. 10 Nov, 2013 1 commit
  19. 28 Oct, 2013 1 commit
  20. 20 Oct, 2013 1 commit
  21. 04 Oct, 2013 2 commits
  22. 29 Aug, 2013 1 commit
  23. 08 Jul, 2013 1 commit
  24. 06 Jul, 2013 1 commit
  25. 10 Jun, 2013 1 commit
  26. 05 May, 2013 1 commit
  27. 08 Mar, 2013 1 commit
  28. 12 Feb, 2013 1 commit
  29. 12 Dec, 2012 1 commit