1. 24 Feb, 2016 34 commits
  2. 23 Feb, 2016 6 commits
    • littledan's avatar
      Ensure Array.prototype.indexOf returns +0 rather than -0 · 8798ef2d
      littledan authored
      A recent ES2016 draft spec clarification indicates that, if -0 is
      passed into Array.prototype.indexOf or Array.prototype.lastIndexOf
      as the starting index, and the result is found at index 0, then +0
      rather than -0 should be returned. This patch ensures that V8 has
      that result, which is consistent with what some other browsers
      return. The patch allows a couple test262 tests to pass.
      
      R=adamk
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1729653002
      
      Cr-Commit-Position: refs/heads/master@{#34229}
      8798ef2d
    • bradnelson's avatar
      Allow negative literals in asm->wasm non-conversion operations. · c8c5b3fd
      bradnelson authored
      This allows expressions like:
      (x + y) & -1
      [intish] & [signed]
      
      The previous conversion condition was too strict (intended to
      forbid non-int expression conversion). Expressing in
      a different way.
      
      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/1717213002
      
      Cr-Commit-Position: refs/heads/master@{#34228}
      c8c5b3fd
    • mbrandy's avatar
      PPC: [fullcodegen] Implement operand stack depth tracking. · b3de78c1
      mbrandy authored
      Port 38915ed7
      
      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.
      
      R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:4755,v8:4488
      LOG=n
      
      Review URL: https://codereview.chromium.org/1729613002
      
      Cr-Commit-Position: refs/heads/master@{#34227}
      b3de78c1
    • littledan's avatar
      Ship ES2015 Symbol.species · 1353b37d
      littledan authored
      This patch moves the ES2015 Symbol.species feature from staging to
      shipping. @@species should be good to ship now that the regression
      from fast-path cases in concat, slice and splice have been addressed.
      
      R=adamk
      BUG=v8:4093
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1721993002
      
      Cr-Commit-Position: refs/heads/master@{#34226}
      1353b37d
    • jfb's avatar
      Add WasmFrame, backtraces reflect wasm's presence · 3c6a3ca7
      jfb authored
      For now WasmFrame doesn't summarize the wasm frames. That'll require adding the
      metadata in wasm-compiler similar to DeoptimizationInputData.
      
      Teach the basic backtrace to iterate over stack frames instead of JS frames.
      
      Update the wasm stack test.
      
      `git cl format` touches random lines in files I touch.
      
      R=titzer@chromium.org
      TEST=d8 --test --expose-wasm test/mjsunit/mjsunit.js test/mjsunit/wasm/stack.js
      
      Originally landed in: https://codereview.chromium.org/1712003003/
      Reverted in: https://codereview.chromium.org/1730673002/
      
      This patch puts the JSFunction on the C++ stack.
      
      Review URL: https://codereview.chromium.org/1724063002
      
      Cr-Commit-Position: refs/heads/master@{#34225}
      3c6a3ca7
    • ssanfilippo's avatar
      [Interpreter] Readable representation of runtime function IDs. · bb2f6846
      ssanfilippo authored
      The first operand to the CallRuntime class of bytecodes is the
      ID of the runtime function being called. Before this commit
      the ID was printed as plain uint16_t, now we get something like:
      
        B(CallRuntime) U16(Runtime::Add) ...
      
      This change is intended to make both the golden files more
      resistant to modifications of the i::Runtime::FunctionId enum
      and the output of generate-bytecode-expectations more readable.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1723223002
      
      Cr-Commit-Position: refs/heads/master@{#34224}
      bb2f6846