1. 15 Feb, 2016 7 commits
    • bmeurer's avatar
      [runtime] Turn ArgumentAccessStub into FastNewSloppyArgumentsStub. · 55b0b4f6
      bmeurer authored
      Turn the fast case of ArgumentsAccessStub into a new stub
      FastNewSloppyArgumentsStub, which is similar to the existing
      FastNewStrictArgumentsStub, although not polished yet, and the slow
      case always went to the runtime anyway, so we can just directly emit
      a runtime call there.
      
      R=mstarzinger@chromium.org
      
      Review URL: https://codereview.chromium.org/1695633003
      
      Cr-Commit-Position: refs/heads/master@{#33973}
      55b0b4f6
    • bmeurer's avatar
      [turbofan] Lower object and array literals in JSCreateLowering. · 052dc9e0
      bmeurer authored
      This adds initial support for inline allocation of object and array
      literals to the JSCreateLowering pass. It's basically identical to
      what Crankshaft does.
      
      This also unstages the TurboFan escape analysis, as the lowering seems
      to trigger a bunch of bugs in it; those bugs will be fixed separately,
      and we will re-enable escape analysis afterwards.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1698783002
      
      Cr-Commit-Position: refs/heads/master@{#33972}
      052dc9e0
    • zhengxing.li's avatar
      X87: [runtime] Optimize and unify rest parameters. · e59af013
      zhengxing.li authored
        port 3ef573e9(r33809)
      
        original commit message:
        Replace the somewhat awkward RestParamAccessStub, which would always
        call into the runtime anyway with a proper FastNewRestParameterStub,
        which is basically based on the code that was already there for strict
        arguments object materialization. But for rest parameters we could
        optimize even further (leading to 8-10x improvements for functions with
        rest parameters), by fixing the internal formal parameter count:
      
        Every SharedFunctionInfo has a formal_parameter_count field, which
        specifies the number of formal parameters, and is used to decide whether
        we need to create an arguments adaptor frame when calling a function
        (i.e. if there's a mismatch between the actual and expected parameters).
        Previously the formal_parameter_count included the rest parameter, which
        was sort of unfortunate, as that meant that calling a function with only
        the non-rest parameters still required an arguments adaptor (plus some
        other oddities). Now with this CL we fix, so that we do no longer
        include the rest parameter in that count. Thereby checking for rest
        parameters is very efficient, as we only need to check whether there is
        an arguments adaptor frame, and if not create an empty array, otherwise
        check whether the arguments adaptor frame has more parameters than
        specified by the formal_parameter_count.
      
        The FastNewRestParameterStub is written in a way that it can be directly
        used by Ignition as well, and with some tweaks to the TurboFan backends
        and the CodeStubAssembler, we should be able to rewrite it as
        TurboFanCodeStub in the near future.
      
        Drive-by-fix: Refactor and unify the CreateArgumentsType which was
        different in TurboFan and Ignition; now we have a single enum class
        which is used in both TurboFan and Ignition.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1696063002
      
      Cr-Commit-Position: refs/heads/master@{#33971}
      e59af013
    • zhengxing.li's avatar
      X87: [heap] Move to page lookups for SemiSpace, NewSpace, and Heap containment methods. · d72bd654
      zhengxing.li authored
        port cfbd2561(r33857)
      
        original commit message:
        Preparing the young generation for (real) non-contiguous backing memory, this
        change removes object masks that are used to compute containment in semi and new
        space. The masks are replaced by lookups for object tags and page headers, where
        possible.
      
        Details:
        - Use the fast checks (page header lookups) for containment in regular code.
        - Use the slow version that masks out the page start adress and iterates all
          pages of a space for debugging/verification.
        - The slow version works for off-heap/unmapped memory.
        - Encapsulate all checks for the old->new barrier in Heap::RecordWrite().
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1698803002
      
      Cr-Commit-Position: refs/heads/master@{#33970}
      d72bd654
    • zhengxing.li's avatar
      X87: [turbofan] Add TruncateFloat32ToUint32 operator to Turbofan. · 7c37571c
      zhengxing.li authored
        port 2166bd8c (r33797)
      
        original commit message:
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1697953002
      
      Cr-Commit-Position: refs/heads/master@{#33969}
      7c37571c
    • v8-autoroll's avatar
      Update V8 DEPS. · 70ea6bd6
      v8-autoroll authored
      Rolling v8/build/gyp to 2f9ffdc96135eaa102ee90584e7c6e5e5c45915c
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1701613002
      
      Cr-Commit-Position: refs/heads/master@{#33968}
      70ea6bd6
    • zhengxing.li's avatar
      X87: [turbofan] Add RoundUint32ToFloat32 operator to Turbofan. · d75ddc58
      zhengxing.li authored
        port 187b3f28 (r33796)
      
        original commit message:
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1700583002
      
      Cr-Commit-Position: refs/heads/master@{#33967}
      d75ddc58
  2. 14 Feb, 2016 2 commits
  3. 13 Feb, 2016 1 commit
  4. 12 Feb, 2016 30 commits