Skip to content
Snippets Groups Projects
  1. Dec 19, 2018
  2. Dec 14, 2018
  3. Aug 06, 2018
  4. May 25, 2018
    • 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
  5. Jan 06, 2017
  6. Dec 21, 2016
  7. Dec 20, 2016
    • 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
  8. Aug 05, 2016
  9. Mar 21, 2016
    • 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
  10. Mar 13, 2016
  11. Jul 31, 2015
    • 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
  12. Jul 20, 2015
    • 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
  13. May 15, 2015
  14. Dec 30, 2013
  15. Dec 04, 2013
  16. Dec 03, 2013
  17. Nov 19, 2013
  18. Nov 12, 2013
  19. Nov 10, 2013
  20. Oct 28, 2013
  21. Oct 20, 2013
  22. Oct 04, 2013
  23. Aug 29, 2013
  24. Jul 08, 2013
  25. Jul 06, 2013
  26. Jun 10, 2013
  27. May 05, 2013
  28. Mar 08, 2013
  29. Feb 12, 2013
  30. Dec 12, 2012
Loading