1. 24 Feb, 2016 10 commits
    • bmeurer's avatar
      [turbofan] Introduce DeoptimizeIf And DeoptimizeUnless common operators. · c129aa4d
      bmeurer authored
      These macro operators represent a conditional eager deoptimization exit
      without explicit branching, which greatly reduces overhead of both
      scheduling and register allocation, and thereby greatly reduces overall
      compilation time, esp. when there are a lot of eager deoptimization
      exits.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1721103003
      
      Cr-Commit-Position: refs/heads/master@{#34239}
      c129aa4d
    • ulan's avatar
      Revert of Replace slots buffer with remembered set. (patchset #14 id:250001 of... · 9146bc5e
      ulan authored
      Revert of Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ )
      
      Reason for revert:
      Revert because of canary crashes: crbug.com/589413
      
      Original issue's description:
      > Replace slots buffer with remembered set.
      >
      > Slots pointing to evacuation candidates are now recorded in the new RememberedSet<OLD_TO_OLD>.
      >
      > The remembered set is extended to support typed slots.
      >
      > During parallel evacuation all migration slots are recorded in local slots buffers.
      > After evacuation all local slots are added to the remembered set.
      >
      > BUG=chromium:578883
      > LOG=NO
      >
      > Committed: https://crrev.com/2285a99ef6f7d52f4f0c4d88a7db4224443ee152
      > Cr-Commit-Position: refs/heads/master@{#34212}
      
      TBR=jochen@chromium.org,hpayer@chromium.org,mlippautz@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=chromium:578883
      
      Review URL: https://codereview.chromium.org/1725073003
      
      Cr-Commit-Position: refs/heads/master@{#34238}
      9146bc5e
    • bmeurer's avatar
      [compiler] Drop the CompareNilIC. · 666aec03
      bmeurer authored
      Since both null and undefined are also marked as undetectable now, we
      can just test that bit instead of having the CompareNilIC try to collect
      feedback to speed up the general case (without the undetectable bit
      being used).
      
      Drive-by-fix: Update the type system to match the new handling of
      undetectable in the runtime.
      
      R=danno@chromium.org
      
      Review URL: https://codereview.chromium.org/1722193002
      
      Cr-Commit-Position: refs/heads/master@{#34237}
      666aec03
    • Miran.Karic's avatar
      MIPS: Replace JR/JALR with JIC/JIALC for r6 · c766f739
      Miran.Karic authored
      This is the first step in process of replacing JR and JALR instructions
      with JIC and JIALC for r6. Trampoline in r6 now uses JIC. Also
      BranchLong and BranchAndLinkLong MacroAssembler functions now use JIC
      and JIALC in r6 if branch delay slot is not used.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1573983002
      
      Cr-Commit-Position: refs/heads/master@{#34236}
      c766f739
    • Miran.Karic's avatar
      MIPS: Adjust code after JALR to JAL optimization removal · e3453a86
      Miran.Karic authored
      Now that JALR to JAL optimization is removed, the value of the constant
      kInstructionsFor32BitConstant and comments are adjusted accordingly.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1690133004
      
      Cr-Commit-Position: refs/heads/master@{#34235}
      e3453a86
    • mattloring's avatar
      Unsampling for the sampling heap profiler · 50537bad
      mattloring authored
      Implements poisson unsampling. A poisson process is used to determine
      which samples to collect based on a sample rate. Unsampling will
      approximate the true number of allocations at each site taking into
      account that smaller allocations are less likley to be sampled.
      
      This work was originally being done in the agent that
      consumes profiles but it is more efficient to do it here
      and individual consumers of the API should not have to
      worry about the mathematical details of the sampling
      process.
      
      R=ofrobots@google.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1706343002
      
      Cr-Commit-Position: refs/heads/master@{#34234}
      50537bad
    • bradnelson's avatar
      Allow bitwise operators to convert from intish to int in heap ops. · a5296768
      bradnelson authored
      We previously supported use of bitwise operations to convert
      from intish to int, but use of kAsmInt in some places and kAsmIntQ
      in others prevents this from working with heap accesses.
      Switch to use kAsmIntQ where appropriate (even though intish_ != 0
      in principle captures the superset of these cases),
      as it's more conservative (and uses types.h better).
      
      BUG= https://code.google.com/p/v8/issues/detail?id=4203
      TEST=mjsunit/asm-wasm
      R=aseemgarg@chromium.org,titzer@chromium.org
      LOG=N
      
      Review URL: https://codereview.chromium.org/1731603002
      
      Cr-Commit-Position: refs/heads/master@{#34233}
      a5296768
    • Michael Achenbach's avatar
      Whitespace change to trigger bots. · 5c21fa8e
      Michael Achenbach authored
      Cr-Commit-Position: refs/heads/master@{#34232}
      5c21fa8e
    • zhengxing.li's avatar
      X87: [fullcodegen] Implement operand stack depth tracking. · 9458a6e4
      zhengxing.li authored
        port 38915ed7 (r34211)
      
        original commit message:
        This implements a mechanism to track the exact depth of the operand
        stack in full-codegen for every sub-expression visitation. So far we
        only tracked the depth at statement level, but not at expression level.
        With the introduction of do-expressions it will be possible to construct
        local control flow (i.e. break, continue and friends) that target labels
        at an arbitrary operand stack depth, making this tracking a prerequisite
        for full do-expression support.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1728953003
      
      Cr-Commit-Position: refs/heads/master@{#34231}
      9458a6e4
    • littledan's avatar
      Intl: Use private symbols to memoize bound functions · a59f62fc
      littledan authored
      The Intl object used to keep around functions which are bound to the
      receiver and memoized in the object (as required by the ECMA-402 spec)
      in ordinary properties with names like __boundformat__. This patch
      instead stores those methods in private symbol properties, so they are
      not exposed to users. A search in GitHub didn't find any uses of
      __boundformat__ (whereas the same search found plenty of usages of
      other V8 Intl features), so I think this should be fine in terms of
      web compatibility.
      
      BUG=v8:3785
      R=adamk
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1728823002
      
      Cr-Commit-Position: refs/heads/master@{#34230}
      a59f62fc
  2. 23 Feb, 2016 29 commits
  3. 22 Feb, 2016 1 commit
    • littledan's avatar
      Remove the Proxy enumerate trap · 579c0107
      littledan authored
      In ES2016, the Proxy enumerate trap is removed. This patch changes
      for-in iteration on Proxies to use the ownKeys trap. Due to the clean
      organization of that code, the patch basically consists of deletions.
      
      R=adamk
      LOG=Y
      BUG=v8:4768
      
      Review URL: https://codereview.chromium.org/1717893002
      
      Cr-Commit-Position: refs/heads/master@{#34200}
      579c0107