1. 12 May, 2016 32 commits
  2. 11 May, 2016 8 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
    • bjaideep's avatar
      PPC: [Interpreter] Fix incorrect frame walking in arguments create stubs · adcc5119
      bjaideep authored
      Port 40f34541
      
      Original commit message:
      
          The previous approach taken by FastNew[Sloppy,Strict,Rest]ArgumentsStub
          looked at the function slot in order to skip stub frames
          and find the JS frame. However, stub frames do not have a
          function slot (in fact their fixed frame ends one slot
          before the JS frame's function slot). Therefore, if this
          location in the stub frame happens to have the function
          object the create arguments stubs won't skip this frame
          correctly.
      
          Replace this approach with one where the stub is
          specialized to either skip a frame if required (since
          there will only ever be one extra frame on Ignition
          the loop approach isn't necessary).
      
      R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      
      BUG=v8:4928
      LOG=N
      
      Review-Url: https://codereview.chromium.org/1966263002
      Cr-Commit-Position: refs/heads/master@{#36186}
      adcc5119
    • bjaideep's avatar
      PPC: Cleanup allocation folding states in lithium. · 8bb88e85
      bjaideep authored
      Port 6e15433d
      
      R=hpayer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      
      BUG=chromium:580959
      LOG=N
      
      Review-Url: https://codereview.chromium.org/1970563004
      Cr-Commit-Position: refs/heads/master@{#36185}
      8bb88e85
    • bjaideep's avatar
      PPC: [crankshaft] Fragmentation-free allocation folding. · ce7d7761
      bjaideep authored
      Port 61f5fbbb
      
      Original commit message:
      
            The new allocation folding implementation avoids fragmentation between folded allocation.
            As a consequence, our heap will always be iterable i.e. we do not have to perform a
            garbage collection before iterating the heap.
      
      R=hpayer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      
      BUG=chromium:580959
      LOG=N
      
      Review-Url: https://codereview.chromium.org/1970633002
      Cr-Commit-Position: refs/heads/master@{#36184}
      ce7d7761
    • ulan's avatar
      Fix live bytes counter in large object space after right trimming. · 12fa3fff
      ulan authored
      BUG=chromium:609761
      LOG=NO
      
      Review-Url: https://codereview.chromium.org/1964143004
      Cr-Commit-Position: refs/heads/master@{#36183}
      12fa3fff
    • ahaas's avatar
      Revert of [wasm] Implement parallel compilation. (patchset #6 id:100001 of... · be8c688a
      ahaas authored
      Revert of [wasm] Implement parallel compilation. (patchset #6 id:100001 of https://codereview.chromium.org/1961973002/ )
      
      Reason for revert:
      The ThreadSanitizer finds data races.
      
      Original issue's description:
      > [wasm] Implement parallel compilation.
      >
      > With this CL it is possible to compile a wasm module with multiple
      > threads in parallel. Parallel compilation works as follows:
      >
      > 1)   The main thread allocates a compilation unit for each wasm function.
      > 2)   The main thread spawns WasmCompilationTasks which run on the
      >      background threads.
      > 3.a) The background threads and the main thread pick one compilation unit
      >      at a time and execute the parallel phase of the compilation unit.
      >      After finishing the execution of the parallel phase, the compilation
      >      unit is stored in a result queue.
      > 3.b) If the result queue contains a compilation unit, the main thread
      >      dequeues it and finishes its compilation.
      > 4)   After the execution of the parallel phase of all compilation units has
      >      started, the main thread waits for all WasmCompilationTasks to finish.
      > 5)   The main thread finalizes the compilation of the module.
      >
      > I'm going to add some additional tests before committing this CL.
      >
      > R=titzer@chromium.org, bmeurer@chromium.org, mlippautz@chromium.org, mstarzinger@chromium.org
      >
      > Committed: https://crrev.com/17215438659d8ff2d7d55f95226bf8a1477ccd79
      > Cr-Commit-Position: refs/heads/master@{#36178}
      
      TBR=bmeurer@chromium.org,mlippautz@chromium.org,mstarzinger@chromium.org,titzer@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review-Url: https://codereview.chromium.org/1965243003
      Cr-Commit-Position: refs/heads/master@{#36182}
      be8c688a