1. 18 May, 2016 1 commit
  2. 17 May, 2016 1 commit
  3. 12 May, 2016 1 commit
  4. 10 May, 2016 1 commit
  5. 09 May, 2016 2 commits
  6. 06 May, 2016 1 commit
  7. 02 May, 2016 2 commits
  8. 29 Apr, 2016 1 commit
  9. 27 Apr, 2016 1 commit
  10. 26 Apr, 2016 1 commit
  11. 25 Apr, 2016 2 commits
  12. 22 Apr, 2016 2 commits
  13. 21 Apr, 2016 4 commits
  14. 20 Apr, 2016 1 commit
    • Subzero: Allow overriding command-line args from the browser. · fd07ad08
      Jim Stichnoth authored
      In the browser build only, allows arguments to be explicitly passed to pnacl-sz, in two ways:
      
      1. The SZARGFILE envvar contains the name of a file with arguments, one per line.  For each line, initial whitespace is ignored, and lines starting with the '#' comment character are also ignored.
      
      2. The SZARGLIST envvar contains all the arguments, separated by the '|' character.
      
      Chrome needs to be started with special options to allow the envvars to be passed through, and also to allow access to the local file system.
      
      In addition, specifying "-log=/dev/stderr" or "-o /dev/stderr" gets mapped to std::cerr, in the same way "-" gets mapped to std::cout.
      
      BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4370
      R=jpp@chromium.org
      
      Review URL: https://codereview.chromium.org/1903553004 .
  15. 19 Apr, 2016 1 commit
  16. 18 Apr, 2016 3 commits
  17. 15 Apr, 2016 2 commits
  18. 14 Apr, 2016 1 commit
  19. 13 Apr, 2016 1 commit
  20. 11 Apr, 2016 3 commits
    • Reduce wait times for very large PEXE files. · 3018cf2b
      Karl Schimpf authored
      Investigated how many parser waits occur when the OptQ fills up. The
      current implementation has 64k entries, which for 10Mb examples, never
      fill up (but do come close to filling up).
      
      To test, I dropped the queue size down. The numbers I got was that the
      queue size plus the number of parse waits was within 2% of the total
      number of function blocks. Hence, once OptQ fills up a lot of slow
      notifies get applied.
      
      Hence, for scaling, I modifed the code to not wake up the parse thread
      (during a pop) until OptQ got half empty. The results were that once
      the Opt got up to size 1024, less than 100 notifies would be
      issued. From 1024 on, as the queue size doubled, the number of
      notifies would drop roughly in half.
      
      Based on this, I decided to add the feature that the OptQ did not wake
      up the waiting parse thread until half empty. Since the queue size was
      not shrunk, this CL shouldn't add any overhead for the PEXES we have,
      and very few waits with significantly largers than the current (10Mb)
      PEXES.
      
      BUG=None
      R=jpp@chromium.org
      
      Review URL: https://codereview.chromium.org/1877873002 .
    • Add "vmov.<dt> <Qd>, #<imm>" to integrated ARM assembler. · b627f094
      Karl Schimpf authored
      Adds the VMOV instruction to the integrated assembler. Because #<imm> is
      complex, and we don't currently have a special ARM class to encode
      constants defined by ARM method AdvSIMDExpandImm(), it currently only
      accepts (nonnegative) integer32 constants that can fit into 8 bits.
      
      There are no tests for this instruction, since there currently no
      callers to this instruction. However, John will be checking in a CL
      shortly that will use this instruction.
      
      Add example generator for vector add.
      
      BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334
      R=jpp@chromium.org
      
      Review URL: https://codereview.chromium.org/1879463003 .
    • Subzero. ARM32. Fixes Insert/Extract v(8|16)i1 bug. · 79568d27
      John Porto authored
      Subzero emits the following sequence when extracting elements from a
      vector of i1:
      
      vmov.8 Rt, Dm[I]
      
      I should be scaled when accessing v4i1, and v8i1, i.e., to extract the
      n-th boolean in a v8i1, the emitted code should be
      
      vmov.8 Rt, Dm[I*n]
      
      Insertions are handled by changing the operands' types, so that a
      v4i1 is handled as a v4i32, and a v8i1, as a v8i16. I.e., to insert
      the n-th boolean into a v8i1, the emitted code should be
      
      mov.16 Dt[I], Rm
      
      instead of
      
      mov.8 Dt[I*n], Rm
      
      This clears the upper bits for that element.
      
      BUG=
      R=eholk@chromium.org
      
      Review URL: https://codereview.chromium.org/1876083004 .
  21. 09 Apr, 2016 2 commits
    • Subzero: Shorten and normalize strings in non-DUMP builds. · e922c236
      Jim Stichnoth authored
      Jump table labels change from ".Lxxxxx_yy" to "$Jxxxxx_yy".
      
      Pooled float labels change from ".L$float$xxxxyyyy" to "$Fxxxxyyyy".
      
      Pooled double labels change from ".L$double$xxxxxxxxyyyyyyyy" to "$Dxxxxxxxxyyyyyyyy".
      
      All these should in theory not conflict with C/C++ user symbols.
      
      Float labels now likely fit into short strings and don't require extra memory allocation.
      
      Double labels may exceed the limit - encoding in base64 instead of hex would fix that.  Or, directly use the binary bytes as the string value.
      
      BUG= none
      R=jpp@chromium.org
      
      Review URL: https://codereview.chromium.org/1868113002 .
    • Subzero: Improve the -timing output. · 9a23e431
      Jim Stichnoth authored
      For "Flat times" output, adds a column with cumulative percentage.  Also, since these percentages add up to less than 100% due to timer overhead, we go ahead and scale up all of the "Flat times" percentages proportionally, to make them add to 100%.  This makes it easier to compare breakdowns across different pexes.
      
      Also, simplify the output to be simple tabular without extra brackets and whatnot.  E.g.:
      
      Total across all functions - Cumulative times:
           Seconds   Pct  EventCnt TimerPath
          8.580407 82.6%         0 szmain
          8.580054 82.6%         0 szmain.parseModule
          8.405447 80.9%     46473 szmain.parseModule.parseFunctions
      ...
      Total across all functions - Flat times:
           Seconds   Pct CumPct  EventCnt TimerName
          1.354678 16.0%  16.0%    100716 linearScan
          1.131292 13.3%  29.3%    139419 liveness
          0.728727  8.6%  37.9%     46473 genCode
      ...
      
      BUG= none
      R=jpp@chromium.org, kschimpf@google.com
      
      Review URL: https://codereview.chromium.org/1870073005 .
  22. 07 Apr, 2016 1 commit
  23. 06 Apr, 2016 3 commits
  24. 05 Apr, 2016 2 commits