1. 29 Mar, 2016 17 commits
  2. 28 Mar, 2016 7 commits
    • jyan's avatar
      S390: Impl Left/Right Logical/Arith Shift Pair · b7eb0cf9
      jyan authored
      Implement Left/Right Logical/Arithmetic Shift Pair operations for s390
      
      R=joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1835973003
      
      Cr-Commit-Position: refs/heads/master@{#35087}
      b7eb0cf9
    • littledan's avatar
      Remove RegExp.prototype.source getter compat workaround · 80803aa8
      littledan authored
      The getter RegExp.prototype.source is specified in ES2015 to throw when
      called on a non-RegExp instance, such as RegExp.prototype. We had previously
      put in a compatibility workaround for all RegExp getters to make them
      throw on access specifically with RegExp.prototype as the receiver; however,
      we only have evidence that this is needed for properties other than source.
      This patch removes the compatibility workaround for get RegExp.prototype.source
      and gives it semantics precisely as per the ES2015 specification.
      
      R=adamk
      BUG=chromium:581577,v8:4827
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1837843002
      
      Cr-Commit-Position: refs/heads/master@{#35086}
      80803aa8
    • adamk's avatar
      String.prototype.{match,search} should do only one RegExp brand check · 0fdf3255
      adamk authored
      Previously, they would check for Symbol.match/Symbol.search, and then
      do another check for Symbol.match in the RegExp constructor. This patch
      avoids the second one by skipping the RegExp constructor, as the spec does.
      
      Review URL: https://codereview.chromium.org/1840723002
      
      Cr-Commit-Position: refs/heads/master@{#35085}
      0fdf3255
    • jyan's avatar
      S390: Fix Register conflict in CEntryStub · d65c8cbf
      jyan authored
      when needs_return_buffer == true and result_size() > 2, the 3rd return value
      is placed in r4 register. But when debug code is emited, it uses r4 register
      for checking exceptions, which corrupts the 3rd return value.
      
      R=joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1839663002
      
      Cr-Commit-Position: refs/heads/master@{#35084}
      d65c8cbf
    • bmeurer's avatar
      [builtins] Provide Math.floor as TurboFan builtin. · 36ead519
      bmeurer authored
      This way we avoid the second deoptimization for the Math.floor and
      Math.ceil builtins when -0 is involved. We still deoptimize the inlined
      Crankshaft version in various cases, that's a separate issue.
      
      The algorithm used for implement CodeStubAssembler::Float64Floor is
      vaguely based on the fast math version used in the libm of various BSDs,
      but had to be reengineered to match the EcmaScript specification.
      
      R=epertoso@chromium.org
      BUG=v8:2890, v8:4059
      LOG=n
      
      Review URL: https://codereview.chromium.org/1828253002
      
      Cr-Commit-Position: refs/heads/master@{#35083}
      36ead519
    • bryleun's avatar
      S390: Fixed s390 simulation check for underflow in subtraction. · 0d24a0fc
      bryleun authored
      Clang optimizes away CheckOverflowForIntSub at any opt
      level (includes -O1, -O2, -O3) into a false statement,
      resulting in incorrect values being returned. As the C++
      standard considers overflows to be undefined behaviour,
      this is technically correct as compilers can assume that
      overflows never occur, but problematic in our case (where
      overflows do occur, and a specific result is expected).
      
      This change replaces the original check with a call to a
      function that is optimized in a manner that returns correct output.
      
      R=michael_dawson@ca.ibm.com,jyan@ca.ibm.com,mtbrandyberry@ca.ibm.com,joransiu@ca.ibm.com,danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1826043002
      
      Cr-Commit-Position: refs/heads/master@{#35082}
      0d24a0fc
    • caitpotter88's avatar
      [esnext] handle elements in FastObjectValuesOrEntries() · f5b85cb7
      caitpotter88 authored
      Add support for optimizing objects with elements, which do not invoke JS and
      cannot change the shape of the Object.
      
      BUG=v8:4663
      LOG=N
      
      Review URL: https://codereview.chromium.org/1767113004
      
      Cr-Commit-Position: refs/heads/master@{#35081}
      f5b85cb7
  3. 27 Mar, 2016 1 commit
  4. 26 Mar, 2016 3 commits
  5. 25 Mar, 2016 8 commits
  6. 24 Mar, 2016 4 commits
    • littledan's avatar
      Add ES2015 RegExp full subclassing semantics behind a flag · 92a571e5
      littledan authored
      This patch implements ES2015 RegExp subclassing semantics, namely the
      hardest part where RegExp.prototype.exec and certain flag getters can
      be overridden in order to provide different behavior. This change is
      hidden behind a new flag, --harmony-regexp-exec. The flag guards the
      behavior by installing entirely different implementations of the
      methods which follow the new semantics.
      
      Preliminary performance tests show a 3-4x regression in the Octane
      RegExp benchmark. The new code doesn't call out into several fast
      paths that the old code supported, so this is expected.
      
      The patch is tested mostly by test262, where most RegExp tests are fixed,
      with the exception of deliberate spec violations for web compatibility,
      and for the 'sticky' flag, which is not dynamically read by this patch
      in all cases but rather statically compiled into the RegExp. The latter
      will require a follow-on patch to implement. A small additional set of
      tests verifies one particular case, mostly to check whether the flag
      mechanism works.
      
      R=adamk,yangguo@chromium.org
      LOG=Y
      BUG=v8:4602
      
      Review URL: https://codereview.chromium.org/1596483005
      
      Cr-Commit-Position: refs/heads/master@{#35068}
      92a571e5
    • titzer's avatar
      [wasm] Enable more ASM->WASM tests. · 51342423
      titzer authored
      R=jarin@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1830703003
      
      Cr-Commit-Position: refs/heads/master@{#35067}
      51342423
    • rmcilroy's avatar
      [Interpreter] Make ignition compiler eagerly. · 838cea4e
      rmcilroy authored
      Makes --ignition cause eager compilation if we aren't building the startup
      snapshot.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1811553003
      
      Cr-Commit-Position: refs/heads/master@{#35066}
      838cea4e
    • machenbach's avatar
      Revert of [Interpreter] Adds support to fetch return value on break at return.... · 25d2b247
      machenbach authored
      Revert of [Interpreter] Adds support to fetch return value on break at return. (patchset #9 id:160001 of https://codereview.chromium.org/1818873003/ )
      
      Reason for revert:
      [Sheriff] Seems to break nosnap debug:
      https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/6019
      
      Original issue's description:
      > [Interpreter] Adds support to fetch return value on break at return.
      >
      > Debugger fetches the return value of a function when we break at return.
      > Interpreter holds the return value in accumulator. This is not stored in a
      > specified location on stack and hence it is not possible to look it up from
      > stack similar to full-codegen or optimized frames. This cl adds support to
      > store the value of accumulator on debug breaks. The value of accumulator is
      > passed to the runtime function and is then stored in thread local data.
      >
      > Also changes full-codegen implementation to match that of ignition.
      > The return value from full-codegen is also stored in thread local data.
      > The return value is fetched directly thread local data instead of
      > finding it by iterating over frames.
      >
      > BUG=v8:4280, v8:4690
      > LOG=N
      >
      > Committed: https://crrev.com/fb65527b75754bcf3b173f16f5d0b04a1c6d9b99
      > Cr-Commit-Position: refs/heads/master@{#35060}
      
      TBR=rmcilroy@chromium.org,yangguo@chromium.org,weiliang.lin@intel.com,balazs.kilvady@imgtec.com,jyan@ca.ibm.com,mythria@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4280, v8:4690
      
      Review URL: https://codereview.chromium.org/1834733002
      
      Cr-Commit-Position: refs/heads/master@{#35065}
      25d2b247