1. 25 Feb, 2016 32 commits
  2. 24 Feb, 2016 8 commits
    • mbrandy's avatar
      PPC: [turbofan] Introduce DeoptimizeIf And DeoptimizeUnless common operators. · e1bed4f9
      mbrandy authored
      Port c129aa4d
      
      Original commit message:
          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=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1730383002
      
      Cr-Commit-Position: refs/heads/master@{#34267}
      e1bed4f9
    • mbrandy's avatar
      PPC: [compiler] Drop the CompareNilIC. · 546ea6b8
      mbrandy authored
      Port 666aec03
      
      Original commit message:
          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=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1733663003
      
      Cr-Commit-Position: refs/heads/master@{#34266}
      546ea6b8
    • v8-autoroll's avatar
      Update V8 DEPS. · 24e85029
      v8-autoroll authored
      Rolling v8/tools/clang to 8598a726360f2722f4db0eab732a5f6b4cb41eb9
      
      Rolling v8/tools/swarming_client to 71c61c858bb2c2deda83781978fe65e94171f58f
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1729263004
      
      Cr-Commit-Position: refs/heads/master@{#34265}
      24e85029
    • mbrandy's avatar
      PPC: [fullcodegen] Implement control flow across do-expressions. · 54d6d35a
      mbrandy authored
      Port ee8108b7
      
      Original commit message:
          This implements proper handling of local control flow (i.e. break and
          continue) that spans the boundary of a do-expression. We can no longer
          determine the number of operands to be dropped from the nesting of
          statements alone, instead we use the new precise operand stack depth
          tracking.
      
      R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      TEST=mjsunit/harmony/do-expressions-control
      BUG=v8:4488
      LOG=n
      
      Review URL: https://codereview.chromium.org/1735623002
      
      Cr-Commit-Position: refs/heads/master@{#34264}
      54d6d35a
    • mstarzinger's avatar
      [fullcodegen] Factor out EmitNewClosure from architectures. · a0198f2c
      mstarzinger authored
      This makes the aforementioned emitting function independent of the
      target architecture by leveraging existing abstractions.
      
      R=mvstanton@chromium.org
      
      Review URL: https://codereview.chromium.org/1730243002
      
      Cr-Commit-Position: refs/heads/master@{#34263}
      a0198f2c
    • littledan's avatar
      Ensure IteratorClose is called for errors in non-declaring assignments · 1aee7555
      littledan authored
      There was a bug in for-of loops without newly declared variables: If,
      in performing the assignment, an exception were thrown, then
      IteratorClose would not be called. The problem was that the assignment
      is done as part of assign_each, which happens before the loop is put
      back in the state which is recognized to be breaking/throwing/returning
      early.
      
      This patch modifies the for-of desugaring by setting the loop state
      before, rather than after, evaluating the assign_each portion, which is
      responsible for evaluating the assignment in for-of loops which do not
      have a declaration.
      
      This patch, together with https://codereview.chromium.org/1728973002 ,
      allow all test262 iterator return-related tests to pass.
      
      R=rossberg
      BUG=v8:4776
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1731773003
      
      Cr-Commit-Position: refs/heads/master@{#34262}
      1aee7555
    • littledan's avatar
      Fix priority of exceptions being thrown from for-of loops · 5f67e34a
      littledan authored
      In the for-of desugaring, IteratorClose is a subtle thing to get right.
      When return exists, the logic for which exception to throw is as follows:
      1. Get the 'return' property and property any exception that might come from
        the property read
      2. Call return, not yet propagating an exception if it's thrown.
      3. If we are closing the iterator due to an exception, propagate that error.
      4. If return threw, propagate that error.
      5. Check if return's return value was not an object, and throw if so
      
      Previously, we were effectively doing step 5 even if an exception "had already
      been thrown" by step 3. Because this took place in a finally block, the exception
      "won the race" and was the one propagated to the user. The fix is a simple change
      to the desugaring to do step 5 only if step 3 didn't happen.
      
      R=rossberg
      BUG=v8:4775
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1728973002
      
      Cr-Commit-Position: refs/heads/master@{#34261}
      5f67e34a
    • akos.palfi's avatar
      MIPS: Fix c-linkage. · 85c73572
      akos.palfi authored
      Per MIPS O32 ABI the first four arguments must be passed via
      the a0-a3 registers and they must be on the stack as well.
      
      TEST=cctest/test-run-wasm/*
      BUG=
      
      Review URL: https://codereview.chromium.org/1730763002
      
      Cr-Commit-Position: refs/heads/master@{#34260}
      85c73572