1. 17 Nov, 2015 7 commits
  2. 16 Nov, 2015 18 commits
  3. 15 Nov, 2015 3 commits
  4. 14 Nov, 2015 1 commit
    • mlippautz's avatar
      Add {CancelableTaskManager} to handle {Cancelable} concurrent tasks. · 60e7ea8a
      mlippautz authored
      This change binds each {Cancelable} task to a so-called {CancelableTaskManager},
      which is then used to handle concurrent cancelation as well as synchronizing
      shutdown for already running tasks.  Since ownership of tasks is transferred to
      the platform executing a task (destructor), handling in the manager uses integer
      ids. Note that this also mitigates (modulo integer size) the ABA problem.
      
      All handling of {Cancelable} tasks is now encapsulated into the corresponding
      manager, which is instantiated for each isolate.
      
      R=hpayer@chromium.org
      BUG=chromium:524425
      LOG=N
      CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg;tryserver.v8:v8_linux_gc_stress_dbg;tryserver.v8:v8_mac_gc_stress_dbg;tryserver.v8:v8_linux64_msan_rel;tryserver.v8:v8_linux64_tsan_rel;tryserver.v8:v8_mac64_asan_rel
      
      Review URL: https://codereview.chromium.org/1409993012
      
      Cr-Commit-Position: refs/heads/master@{#31997}
      60e7ea8a
  5. 13 Nov, 2015 11 commits
    • mbrandy's avatar
      Fix "[turbofan] Spill rsi and rdi in their existing locations." · 61a39335
      mbrandy authored
      Commit 20f3a077 broke platforms using
      embedded constant pools due to assumptions regarding stack frame
      layout.
      
      R=mtrofin@chromium.org, bmeurer@chromium.org, jarin@chromium.org, michael_dawson@ca.ibm.com
      BUG=v8:4548
      LOG=n
      
      Review URL: https://codereview.chromium.org/1442273002
      
      Cr-Commit-Position: refs/heads/master@{#31996}
      61a39335
    • adamk's avatar
      Fix harmony sloppy block scoping dynamic redeclaration check · fd3ff03d
      adamk authored
      The previous code did not properly check for harmony const when
      doing the dynamic redeclaration check. This was masked in the
      test because each eval had an initializer, and the initializer was what
      triggered the exception.
      
      This patch tightens the test by removing initializers and fixes the bug in
      DeclareLookupSlot.
      
      Also change the test to use assertThrows where possible.
      
      BUG=v8:4550
      LOG=n
      
      Review URL: https://codereview.chromium.org/1437003006
      
      Cr-Commit-Position: refs/heads/master@{#31995}
      fd3ff03d
    • mbrandy's avatar
      PPC: [turbofan] Better and more sane support for tail calls · cf2f6b80
      mbrandy authored
      Port ff283f7d
      
      Original commit message:
          * Limit triggering of tail calls to explicit use of a new inline runtime
            function %_TailCall. %_TailCall works just like %_Call except for using
            tail-calling mechanics (currently only in TF).
          * Remove hack that recognized some specific usages of %_Call and converted them
            into tail calls.
          * Support tail calls for all calls where the number of callee stack parameters
            is less than or equal to the number of caller stack parameters.
          * Use the gap resolver to swizzle parameters and registers to tail calls.
      
      R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
      BUG=v8:4076
      LOG=n
      
      Review URL: https://codereview.chromium.org/1442143002
      
      Cr-Commit-Position: refs/heads/master@{#31994}
      cf2f6b80
    • mlippautz's avatar
      [heap] Do not require kRingBufferMaxSize samples for estimating compaction speed · c0d310bd
      mlippautz authored
      There is no need to require kRingbufferMaxSize samples for estimating the
      compaction speed, as the number is already quite stable with a single sample
      (which may include timings from compacting multiple pages).
      
      R=hpayer@chromium.org
      BUG=chromium:524425
      LOG=N
      
      Review URL: https://codereview.chromium.org/1440423002
      
      Cr-Commit-Position: refs/heads/master@{#31993}
      c0d310bd
    • ishell's avatar
      Avoid manual object's body traversal in GC. · 5ba9ea18
      ishell authored
      This CL introduces the following visitors:
      1) RecordMigratedSlotVisitor which simplifies MarkCompactCollector::MigrateObject().
      2) IteratePointersToFromSpaceVisitor which simplifies Heap::IteratePointersToFromSpace().
      3) FindPointersToNewSpaceVisitor which simplifies StoreBuffer::IteratePointersToNewSpace().
      
      These changes make the object's body descriptors the one and only place that knows how to traverse the object.
      
      Review URL: https://codereview.chromium.org/1441453002
      
      Cr-Commit-Position: refs/heads/master@{#31992}
      5ba9ea18
    • mbrandy's avatar
      PPC: Fix simulation of floating point <-> integer conversion. · 06336a7d
      mbrandy authored
      Avoid unnecessary casts to double as this my mistakenly alter NaN bits.
      
      R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1445603002
      
      Cr-Commit-Position: refs/heads/master@{#31991}
      06336a7d
    • jkummerow's avatar
      Split ValidateAndApplyPropertyDescriptor out of OrdinaryDefineOwnProperty · b9760afe
      jkummerow authored
      In preparation for JSProxy::GetOwnProperty.
      
      R=cbruni@chromium.org
      
      Review URL: https://codereview.chromium.org/1443683003
      
      Cr-Commit-Position: refs/heads/master@{#31990}
      b9760afe
    • adamk's avatar
      Run the materialized literal reindexer on default parameter initializers · e9710056
      adamk authored
      R=rossberg@chromium.org
      BUG=chromium:554865
      LOG=n
      
      Review URL: https://codereview.chromium.org/1442653004
      
      Cr-Commit-Position: refs/heads/master@{#31989}
      e9710056
    • mtrofin's avatar
      [turbofan] Spill rsi and rdi in their existing locations. · 20f3a077
      mtrofin authored
      We push the context and the js function onto the stack as part of the
      frame construction. The register allocator is presented with virtual
      registers for the above as defined from their corresponding registers. It
      then goes on to spilling them somewhere else on the stack.
      
      This means each function spends two redundant spills and two
      unnecessary stack slots.
      
      This change addresses this issue.
      
      We present these parameters (context and function) to the register
      allocator as an UnallocatedOperand having a "secondary storage". The
      secondary storage is then associated to the live range as its
      spill operand. We capture the definition of the live range so that we can
      then commit the spill (in this case, eliminate) through a variation of the
      mechanics of the CommitAssignment phase.
      
      The register allocator validator also needed update to understand
      UnallocatedOperands with a secondary storage.
      
      The change renames the SpillAtDefinitionList and related APIs to better
      capture their intent - the old names suggested spills happened upon
      calling. In reality, potential spill locations were thus recorded, and later
      committed (or not, in certain cases) after register allocation.
      
      BUG= v8:4548
      LOG=n
      
      Review URL: https://codereview.chromium.org/1426943010
      
      Cr-Commit-Position: refs/heads/master@{#31988}
      20f3a077
    • danno's avatar
      [turbofan] Better and more sane support for tail calls · ff283f7d
      danno authored
      * Limit triggering of tail calls to explicit use of a new inline runtime
        function %_TailCall. %_TailCall works just like %_Call except for using
        tail-calling mechanics (currently only in TF).
      * Remove hack that recognized some specific usages of %_Call and converted them
        into tail calls.
      * Support tail calls for all calls where the number of callee stack parameters
        is less than or equal to the number of caller stack parameters.
      * Use the gap resolver to swizzle parameters and registers to tail calls.
      
      BUG=v8:4076
      LOG=n
      
      Review URL: https://codereview.chromium.org/1439613003
      
      Cr-Commit-Position: refs/heads/master@{#31987}
      ff283f7d
    • mstarzinger's avatar
      [turbofan] Fix OSR entry in case label. · c42f188c
      mstarzinger authored
      With do-expressions any expression used as a case label can turn into an
      OSR entry-point. This means the value being switched over is renamed to
      an OSR value and needs to be reloaded from the environment at each case.
      
      R=rossberg@chromium.org
      TEST=mjsunit/regress/regress-osr-in-case-label
      
      Review URL: https://codereview.chromium.org/1438123007
      
      Cr-Commit-Position: refs/heads/master@{#31986}
      c42f188c