1. 20 Jun, 2016 10 commits
    • machenbach's avatar
      Revert of Implement WASM big-endian support (patchset #5 id:80001 of... · 093df3fa
      machenbach authored
      Revert of Implement WASM big-endian support (patchset #5 id:80001 of https://codereview.chromium.org/2034093002/ )
      
      Reason for revert:
      [Sheriff] Speculative revert for crashes on chrubuntu chromebooks:
      https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm/builds/320
      
      Original issue's description:
      > Implement WASM big-endian support.
      >
      > Implement WASM support on big-endian platforms. WASM has
      > an implicit requirement that it is running on little-endian
      > machine. We achieve WASM support on BE by keeping data
      > in memory in little-endian order, and changing data
      > endianness before storing to memory and after loading from
      > memory.
      >
      > BUG=
      >
      > Committed: https://crrev.com/d3f3f6c8186b2a53f0c539f7bba0c3708c4d83f9
      > Cr-Commit-Position: refs/heads/master@{#37065}
      
      TBR=titzer@chromium.org,akos.palfi@imgtec.com,balazs.kilvady@imgtec.com,jyan@ca.ibm.com,ivica.bogosavljevic@imgtec.com
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=
      
      Review-Url: https://codereview.chromium.org/2080153002
      Cr-Commit-Position: refs/heads/master@{#37091}
      093df3fa
    • machenbach's avatar
      Revert of [turbofan] Introduce CheckUnless. (patchset #1 id:1 of... · 46c21b2c
      machenbach authored
      Revert of [turbofan] Introduce CheckUnless. (patchset #1 id:1 of https://codereview.chromium.org/2080113002/ )
      
      Reason for revert:
      [Sheriff] Speculative revert: Seems to lead to devtools crashes:
      https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Win/builds/5259
      
      Original issue's description:
      > [turbofan] Introduce CheckUnless.
      >
      > Similarly to CheckIf, CheckUnless is a deoptimization without a specific
      > frame state. A frame state is assigned during effect-control linearization
      > (and CheckUnless is turned into DeoptimizeUnless).
      >
      > At the moment, the new operator is only used at one place in native context
      > specialization, but we should use it everywhere. The advantage of
      > CHeckUnless is that it avoids non-truncating uses of values by frame
      > states. This particular change is aimed at Octane's crypto, where this
      > enables to turn one NumberMultiply into Int32Mul, and thus improve
      > the score by more than 10% (it also needs minus zero truncation and
      > typing to be improved, but those CLs are already in flight).
      >
      > BUG=v8:4470
      > R=bmeurer@chromium.org
      >
      > Committed: https://crrev.com/85fde59d538e0dcaf461108086c2f7cf904f567a
      > Cr-Commit-Position: refs/heads/master@{#37085}
      
      TBR=bmeurer@chromium.org,jarin@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4470
      
      Review-Url: https://codereview.chromium.org/2078333002
      Cr-Commit-Position: refs/heads/master@{#37090}
      46c21b2c
    • yangguo's avatar
      Simplify AssemblerPositionsRecorder. · 9c3d730d
      yangguo authored
      R=bmeurer@chromium.org, jgruber@chromium.org
      
      Review-Url: https://codereview.chromium.org/2072963003
      Cr-Commit-Position: refs/heads/master@{#37089}
      9c3d730d
    • bmeurer's avatar
      [ieee754] Use uint32_t/uint64_t instead of u_int32_t/u_int64_t. · 3c9ff7ec
      bmeurer authored
      The uint32_t/uint64_t types are more portable than the old style, pre
      C99 u_int32_t/u_int64_t types.
      
      R=yangguo@chromium.org
      BUG=v8:5086
      
      Review-Url: https://codereview.chromium.org/2080573002
      Cr-Commit-Position: refs/heads/master@{#37088}
      3c9ff7ec
    • bmeurer's avatar
      [builtins] Introduce proper Float64Tan operator. · c87168bc
      bmeurer authored
      Import base::ieee754::tan() from fdlibm and introduce Float64Tan TurboFan
      operator based on that, similar to what we do for Float64Cos and Float64Sin.
      Rewrite Math.tan() as TurboFan builtin and use those operators to also
      inline Math.tan() into optimized TurboFan functions.
      
      Drive-by-fix: Kill the %_ConstructDouble intrinsics, and provide only
      the %ConstructDouble runtime entry for writing tests.
      
      BUG=v8:5086,v8:5126
      R=yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/2083453002
      Cr-Commit-Position: refs/heads/master@{#37087}
      c87168bc
    • mtrofin's avatar
      [wasm] Separate compilation from instantiation · c1d01aea
      mtrofin authored
      Compilation of wasm functions happens before instantiation. Imports are linked afterwards, at instantiation time. Globals and memory are also
      allocated and then tied in via relocation at instantiation time.
      
      This paves the way for implementing Wasm.compile, a prerequisite to
      offering the compiled code serialization feature.
      
      Currently, the WasmModule::Compile method just returns a fixed array
      containing the code objects. More appropriate modeling of the compiled module to come.
      
      Opportunistically centralized the logic on how to update memory
      references, size, and globals, since that logic is the exact same on each
      architecture, except for the actual storing of values back in the
      instruction stream.
      
      BUG=v8:5072
      
      Review-Url: https://codereview.chromium.org/2056633002
      Cr-Commit-Position: refs/heads/master@{#37086}
      c1d01aea
    • jarin's avatar
      [turbofan] Introduce CheckUnless. · 85fde59d
      jarin authored
      Similarly to CheckIf, CheckUnless is a deoptimization without a specific
      frame state. A frame state is assigned during effect-control linearization
      (and CheckUnless is turned into DeoptimizeUnless).
      
      At the moment, the new operator is only used at one place in native context
      specialization, but we should use it everywhere. The advantage of
      CHeckUnless is that it avoids non-truncating uses of values by frame
      states. This particular change is aimed at Octane's crypto, where this
      enables to turn one NumberMultiply into Int32Mul, and thus improve
      the score by more than 10% (it also needs minus zero truncation and
      typing to be improved, but those CLs are already in flight).
      
      BUG=v8:4470
      R=bmeurer@chromium.org
      
      Review-Url: https://codereview.chromium.org/2080113002
      Cr-Commit-Position: refs/heads/master@{#37085}
      85fde59d
    • jarin's avatar
      [turbofan] Compute better types for additions with minus zero. · e03c090d
      jarin authored
      Review-Url: https://codereview.chromium.org/2081553002
      Cr-Commit-Position: refs/heads/master@{#37084}
      e03c090d
    • bjaideep's avatar
      PPC/s390: [builtins] Introduce proper Float64Cos and Float64Sin. · f7e7c32d
      bjaideep authored
      Port c781e831
      Port 4d4eb611
      
      Original commit message:
      
          Import base::ieee754::cos() and base::ieee754::sin() from fdlibm and
          introduce Float64Cos and Float64Sin TurboFan operator based on that,
          similar to what we do for Float64Log. Rewrite Math.cos() and Math.sin()
          as TurboFan builtins and use those operators to also inline Math.cos()
          and Math.sin() into optimized TurboFan functions.
      
          Unify Atanh, Cbrt and Expm1 as exports from flibm.
      
      R=bmeurer@chromium.org, mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      
      BUG=v8:5086,v8:5118,v8:5103
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2078273002
      Cr-Commit-Position: refs/heads/master@{#37083}
      f7e7c32d
    • v8-autoroll's avatar
      Update V8 DEPS. · 8e168b06
      v8-autoroll authored
      Rolling v8/tools/mb to 3d628fb28050a1deef98e3be5d5b37b5fd8ed27f
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review-Url: https://codereview.chromium.org/2079213002
      Cr-Commit-Position: refs/heads/master@{#37082}
      8e168b06
  2. 19 Jun, 2016 5 commits
  3. 18 Jun, 2016 4 commits
    • bbudge's avatar
      [Turbofan] Clean up register allocator and verifier code. · d99e1ab6
      bbudge authored
      - Improves RegisterName display in register allocator.
      - Removes GetFixedRegisters method in preparation for having multiple fp
      reg types.
      - Clean up some verifier code.
      
      LOG=N
      BUG=v8:4124
      
      Review-Url: https://codereview.chromium.org/2081443002
      Cr-Commit-Position: refs/heads/master@{#37076}
      d99e1ab6
    • bjaideep's avatar
      PPC/s390: [builtins] Always pass target and new target to C++ builtins · 57733bdd
      bjaideep authored
      Port f5b83dec
      
      Original commit message:
      
          As a first step towards showing builtin frames in stack traces, we will now
          push target and new target unconditionally.
      
          Since the various specializations of BuiltinArguments are made redundant by
          this change, we can remove them and all related code.
      
      R=jgruber@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      
      BUG=
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2079073003
      Cr-Commit-Position: refs/heads/master@{#37075}
      57733bdd
    • v8-autoroll's avatar
      Update V8 DEPS. · c4d2b191
      v8-autoroll authored
      Rolling v8/build to d45e523e2428a9500e5d4c9e64d9345e75ac315a
      
      Rolling v8/tools/gyp to c61b0b35c8396bfd59efc6cfc11401d912b0f510
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review-Url: https://codereview.chromium.org/2078163002
      Cr-Commit-Position: refs/heads/master@{#37074}
      c4d2b191
    • bjaideep's avatar
      PPC/s390: [builtins] Introduce proper Float64Exp operator. · a54e289e
      bjaideep authored
      Port d5f2ac5e
      
      Original commit message:
      
          Import base::ieee754::exp() from FreeBSD msun and introduce a Float64Exp
          TurboFan operator based on that, similar to what we do for Float64Log.
          Rewrite Math.exp() as TurboFan builtin and use that operator to also
          inline Math.exp() into optimized TurboFan functions.
      
      R=bmeurer@chromium.org, mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      
      BUG=v8:3266,v8:3468,v8:3493,v8:5086,v8:5108,chromium:620786
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2075263002
      Cr-Commit-Position: refs/heads/master@{#37073}
      a54e289e
  4. 17 Jun, 2016 21 commits