1. 15 Feb, 2016 10 commits
    • machenbach's avatar
      Revert of [runtime] Turn ArgumentAccessStub into FastNewSloppyArgumentsStub.... · f0561ac5
      machenbach authored
      Revert of [runtime] Turn ArgumentAccessStub into FastNewSloppyArgumentsStub. (patchset #2 id:20001 of https://codereview.chromium.org/1695633003/ )
      
      Reason for revert:
      [Sheriff] Breaks ASAN with mipsel compile:
      https://build.chromium.org/p/client.v8/builders/V8%20Linux%20ASAN%20mipsel%20-%20debug%20builder/builds/4558/
      
      Original issue's description:
      > [runtime] Turn ArgumentAccessStub into FastNewSloppyArgumentsStub.
      >
      > 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
      >
      > Committed: https://crrev.com/55b0b4f6d572531eec00ab6ebd8f6feb7c584e04
      > Cr-Commit-Position: refs/heads/master@{#33973}
      
      TBR=mstarzinger@chromium.org,jarin@chromium.org,bmeurer@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/1701653002
      
      Cr-Commit-Position: refs/heads/master@{#33976}
      f0561ac5
    • jarin's avatar
      Make the frame inspector use TranslatedState rather than the full deoptimizer. · 54188964
      jarin authored
      This is mostly preparation for allowing the function closure to be materialized.
      
      As a drive-by fix, I have added ignition source position support to the frame inspector (this fixed some ignition test failures).
      
      Review URL: https://codereview.chromium.org/1698743002
      
      Cr-Commit-Position: refs/heads/master@{#33975}
      54188964
    • bmeurer's avatar
      [turbofan] Remove the function reload hack for OSR. · 359ba8e0
      bmeurer authored
      Initially we were unable to address certain stack slots in the callee
      part of the frame, including the function marker, therefore we had to
      hack a reload of the function register into the OSR prologue. Now that
      we are able to address all stack slots, we no longer need this hack.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1666073002
      
      Cr-Commit-Position: refs/heads/master@{#33974}
      359ba8e0
    • 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 27 commits