1. 13 May, 2016 4 commits
  2. 12 May, 2016 33 commits
  3. 11 May, 2016 3 commits
    • lpy's avatar
      Revert of Implement CPU time for OS X and POSIX. (patchset #10 id:180001 of... · bfb1c9e6
      lpy authored
      Revert of Implement CPU time for OS X and POSIX. (patchset #10 id:180001 of https://codereview.chromium.org/1959103004/ )
      
      Reason for revert:
      Buildbot is failing on Mac release build.
      
      Original issue's description:
      > Implement CPU time for OS X and POSIX.
      >
      > V8 tracing controller uses 2 clocks: wall clock and cpu clock. This patch
      > implements CPU time for OS X and POSIX to provide more accurate
      > accounting of CPU time used by each thread.
      >
      > BUG=v8:4984
      > LOG=n
      >
      > Committed: https://crrev.com/025f3d262bab2748362374f1b90ac723a9655ee4
      > Cr-Commit-Position: refs/heads/master@{#36188}
      
      TBR=jochen@chromium.org,bmeurer@chromium.org,fmeawad@chromium.org,rsesek@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4984
      
      Review-Url: https://codereview.chromium.org/1966173003
      Cr-Commit-Position: refs/heads/master@{#36189}
      bfb1c9e6
    • lpy's avatar
      Implement CPU time for OS X and POSIX. · 025f3d26
      lpy authored
      V8 tracing controller uses 2 clocks: wall clock and cpu clock. This patch
      implements CPU time for OS X and POSIX to provide more accurate
      accounting of CPU time used by each thread.
      
      BUG=v8:4984
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1959103004
      Cr-Commit-Position: refs/heads/master@{#36188}
      025f3d26
    • jshin's avatar
      Use ICU case conversion/transliterator for case conversion · b348d47b
      jshin authored
      When I18N is enabled, use ICU's case conversion API and transliteration
      API [1] to implement String.prototype.to{Upper,Lower}Case and
      String.prototype.toLocale{Upper,Lower}Case.
      
      * ICU-based case conversion was implemented in runtime-i18n.cc/i18n.js
      * The above 4 functions are overridden with those in i18n.js when
        --icu_case_mapping flag is turned on. To control the override by the flag,
        they're overriden in icu-case-mapping.js
      
      Previously, toLocale{U,L}Case just called to{U,L}Case so that they didn't
      support locale-sensitive case conversion for Turkic languages (az, tr),
      Greek (el) and Lithuanian (lt).
      
      Before ICU APIs for the most general case are called, a fast-path for Latin-1
      is tried. It's taken from Blink and adopted as necessary. This fast path
      is always tried for to{U,L}Case. For toLocale{U,L}Case, it's only taken
      when a locale (explicitly specified or default) is not in {az, el, lt, tr}.
      
      With these changes, a build with --icu_case_mapping=true passes a bunch
      of tests in test262/intl402/Strings/* and intl/* that failed before.
      
      Handling of pure ASCII strings (aligned at word boundary) are not as fast
      as Unibrow's implementation that uses word-by-word case conversion. OTOH,
      Latin-1 input handling is faster than Unibrow. General Unicode input
      handling is slower but more accurate.
      
      See https://docs.google.com/spreadsheets/d/1KJCJxKc1FxFXjwmYqABS0_2cNdPetvnd8gY8_HGSbrg/edit?usp=sharing for the benchmark.
      
      This CL started with http://crrev.com/1544023002#ps200001 by littledan@,
      but has changed significantly since.
      
      [1] See why transliteration API is needed for uppercasing in Greek.
          http://bugs.icu-project.org/trac/ticket/10582
      
      R=yangguo
      BUG=v8:4476,v8:4477
      LOG=Y
      TEST=test262/{built-ins,intl402}/Strings/*, webkit/fast/js/*, mjsunit/string-case,
           intl/general/case*
      
      Review-Url: https://codereview.chromium.org/1812673005
      Cr-Commit-Position: refs/heads/master@{#36187}
      b348d47b