1. 24 Nov, 2015 30 commits
  2. 23 Nov, 2015 10 commits
    • adamk's avatar
      [es6] Fix parsing of 'yield' in function and generator expressions · 2ea7f3c8
      adamk authored
      In a function expression, 'yield' is allowed, even if the expression
      occurs inside a generator. Similarly, even in a non-generator,
      a generator expression's name must not be 'yield'.
      
      BUG=v8:3983
      LOG=n
      
      Review URL: https://codereview.chromium.org/1460393003
      
      Cr-Commit-Position: refs/heads/master@{#32188}
      2ea7f3c8
    • gdeepti's avatar
      Implement type check and error raising semantics in SIMD runtime functions. · 21a7a106
      gdeepti authored
       - Throw type errors instead of runtime asserts.
       - Also required for SIMD tests ported to Test262 to work with V8
      
      BUG=4501
      
      LOG=N
      
      Review URL: https://codereview.chromium.org/1461823003
      
      Cr-Commit-Position: refs/heads/master@{#32187}
      21a7a106
    • mbrandy's avatar
      PPC: [builtins] Sanitize the machinery around Construct calls. · fe14ba45
      mbrandy authored
      Port 374b6ea2
      
      Original commit message:
          There's no point in collecting feedback for super constructor calls,
          because in all (interesting) cases we can gather (better) feedback from
          other sources (i.e. via inlining or via using a LOAD_IC to get to the
          [[Prototype]] of the target).  So CallConstructStub is now only used
          for new Foo(...args) sites where we want to collect feedback in the
          baseline compiler.  The optimizing compilers, Reflect.construct and
          super constructor calls use the Construct builtin directly, which allows
          us to remove some weird code from the CallConstructStub (and opens the
          possibility for more code sharing with the CallICStub, maybe even going
          for a ConstructICStub).
      
          Also remove the 100% redundant HCallNew instruction, which is just a
          wrapper for the Construct builtin anyway (indirectly via the
          CallConstructStub).
      
          Drive-by-fix: Drop unused has_function_cache bit on Code objects.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:4413, v8:4430
      LOG=n
      
      Review URL: https://codereview.chromium.org/1471623005
      
      Cr-Commit-Position: refs/heads/master@{#32186}
      fe14ba45
    • mbrandy's avatar
      PPC: [stubs] Change CallICStub to utilize the ConvertReceiverMode. · ee72c407
      mbrandy authored
      Port d80fd48e
      
      Original commit message:
          The CallICStub has call-site specific knowledge about the receiver,
          which we did not utilize; plus the CallICStub does in some case know
          whether it is about to [[Call]] a function or potentially some other
          callable. In the common case we actually know that the target is a
          function and so we can use the CallFunction builtin directly instead
          of redispatching in the Call builtin.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=chromium:555127, v8:4413
      LOG=n
      
      Review URL: https://codereview.chromium.org/1471823002
      
      Cr-Commit-Position: refs/heads/master@{#32185}
      ee72c407
    • mbrandy's avatar
      PPC: Make arguments adaptor not clobber new.target. · 395884de
      mbrandy authored
      Port c1e7c8d9
      
      Original commit message:
          This ensures that the ArgumentsAdaptorTrampoline does not clobber the
          new.target value, but rather passes it through to the callee unaltered.
          Note that callees do not yet use the new.target value so far.
      
          This is a preparatory CL to allows us passing new.target in a register
          instead of via a side-channel through the construct stub frame.
      
      R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:4544
      LOG=n
      
      Review URL: https://codereview.chromium.org/1467923004
      
      Cr-Commit-Position: refs/heads/master@{#32184}
      395884de
    • mbrandy's avatar
      PPC: [turbofan]: Implement tail calls with more callee than caller parameters · 1d1557d8
      mbrandy authored
      Port c6d310da
      
      Original commit message:
          * Adds a PrepareForTailCall instruction that bumps the stack in the case that
            the number of parameters passed to the callee causes the stack to exceed the
            calleer's frame size.
          * Uses the gap resolver to move the saved caller return address and frame
            pointer to the approprate location in the tail-called frame.
      
      R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:4076
      LOG=n
      
      Review URL: https://codereview.chromium.org/1460183003
      
      Cr-Commit-Position: refs/heads/master@{#32183}
      1d1557d8
    • mbrandy's avatar
      PPC: Fix object initialization when slack tracking for it's map is still enabled. · 07b50849
      mbrandy authored
      Port 2fc2cb99
      
      Original commit message:
          The old code was not ready for properly initialize objects with non
          standard headers and non zero in-object properties number.
      
          MacroAssembler::Allocate() implementations now return both start and
          end addresses of the new object (done by parameter renaming).
      
      R=ishell@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1472473003
      
      Cr-Commit-Position: refs/heads/master@{#32182}
      07b50849
    • mbrandy's avatar
      PPC: [turbofan] Implemented the TruncateFloat64ToUint64 TurboFan operator. · bc5e7fc3
      mbrandy authored
      Port f6e689ce
      
      Original commit message:
          The TruncateFloat64ToUint64 operator converts a float64 to an uint64 using
          round-to-zero rounding mode (truncate). If the input value is outside uint64
          range, then the result depends on the architecture.
      
      R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1460093002
      
      Cr-Commit-Position: refs/heads/master@{#32181}
      bc5e7fc3
    • mbrandy's avatar
      PPC: [runtime] Introduce a proper %NewArray runtime entry. · 8ced019a
      mbrandy authored
      Port ceade6cf
      
      Original commit message:
          This adds a new %NewArray runtime entry, which constructs a new JSArray
          and does the subclassing correctly (to the same degree that %NewObject
          does currently), and also deals properly with the AllocationSite
          feedback mechanism. This runtime entry will be used by TurboFan and is
          also used as a fallback in the subclassing case in the stub currently.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:3101, v8:3330
      LOG=n
      
      Review URL: https://codereview.chromium.org/1466943002
      
      Cr-Commit-Position: refs/heads/master@{#32180}
      8ced019a
    • bmeurer's avatar
      [turbofan] Teach ad-hoc load elimination about atomic regions. · 902f264a
      bmeurer authored
      The LoadElimination in TurboFan can look into the atomic regions and
      elimination subsequent loads based on stores/allocations in that atomic
      regions.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1472703005
      
      Cr-Commit-Position: refs/heads/master@{#32179}
      902f264a