1. 18 Feb, 2016 2 commits
    • ishell's avatar
      [es6] Enable tail call optimization on clusterfuzz. · e8201e6c
      ishell authored
      BUG=v8:4698
      LOG=N
      
      Review URL: https://codereview.chromium.org/1710883002
      
      Cr-Commit-Position: refs/heads/master@{#34117}
      e8201e6c
    • rossberg's avatar
      [es6] Implement for-of iterator finalization · cb1bf4af
      rossberg authored
      Implements iterator finalisation by desugaring for-of loops with an additional try-finally wrapper. See comment in parser.cc for details.
      
      Also improved some AST printing facilities while there.
      
      @Ross, I had to disable the bytecode generation test for for-of, because it got completely out of hand after this change (the new bytecode has 150+ lines). See the TODO that I assigned to you.
      
      Patch set 1 is WIP patch by Georg (http://crrev.com/1695583003), patch set 2 relative changes.
      
      @Georg, FYI, I changed the following:
      
      - Moved try-finally out of the loop body, for performance, and in order to be able to handle `continue` correctly.
      - Fixed scope management in ParseForStatement, which was the cause for the variable allocation failure.
      - Fixed pre-existing zone initialisation bug in rewriter, which caused the crashes.
      - Enabled all tests, adjusted a few others, added a couple more.
      
      BUG=v8:2214
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1695393003
      
      Cr-Commit-Position: refs/heads/master@{#34111}
      cb1bf4af
  2. 16 Feb, 2016 2 commits
  3. 15 Feb, 2016 2 commits
    • jkummerow's avatar
      [crankshaft] Replace stub cache harvesting with a bit of type propagation · 5aa2cb3b
      jkummerow authored
      Harvesting maps from the stub cache for megamorphic ICs is both slow
      (linear in the size of the stub cache) and imprecise (as it finds all
      maps that have a cached handler for the given property name).
      In the canonical megamorphic situation, this type feedback is useless
      anyway. The interesting case is when we can filter it down to a single
      map; however in these cases it is often possible to derive this map
      just by looking at the HGraph, which is both faster and more reliable.
      
      Review URL: https://codereview.chromium.org/1669213003
      
      Cr-Commit-Position: refs/heads/master@{#33998}
      5aa2cb3b
    • bmeurer's avatar
      [turbofan] Lower object and array literals in JSCreateLowering. · 052dc9e0
      bmeurer authored
      This adds initial support for inline allocation of object and array
      literals to the JSCreateLowering pass. It's basically identical to
      what Crankshaft does.
      
      This also unstages the TurboFan escape analysis, as the lowering seems
      to trigger a bunch of bugs in it; those bugs will be fixed separately,
      and we will re-enable escape analysis afterwards.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1698783002
      
      Cr-Commit-Position: refs/heads/master@{#33972}
      052dc9e0
  4. 12 Feb, 2016 1 commit
  5. 11 Feb, 2016 4 commits
  6. 10 Feb, 2016 2 commits
  7. 08 Feb, 2016 2 commits
    • littledan's avatar
      Stage --harmony-species flag, enabling Symbol.species · 43cd128e
      littledan authored
      This patch moves Symbol.species support to the "experimental JavaScript
      features" flag. While @@species is still a performance hit, it doesn't seem
      like it would make the web unusably slow; shipping would still have to
      wait on fixing the performance regression, but staging this version should
      yield valuable web compatibility information.
      
      R=cbruni
      BUG=v8:4093
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1678143002
      
      Cr-Commit-Position: refs/heads/master@{#33827}
      43cd128e
    • mstarzinger's avatar
      Remove --stop-at flag from several backends. · 664110f8
      mstarzinger authored
      The flag in question is a debug-only flag supported by full-codegen and
      Crankshaft only. In it's current form there are some unresolved issues:
      - The flag is defeated by inlining in Crankshaft.
      - The flag is not supported by TurboFan.
      - The flag is not supported by Ignition.
      
      Instead of addressing the above issues and increasing maintenance cost
      for all backends and also given the "slim" test coverage, this CL fully
      removes the support from all backends.
      
      R=bmeurer@chromium.org,jkummerow@chromium.org
      
      Review URL: https://codereview.chromium.org/1676263002
      
      Cr-Commit-Position: refs/heads/master@{#33817}
      664110f8
  8. 05 Feb, 2016 1 commit
  9. 04 Feb, 2016 2 commits
  10. 03 Feb, 2016 1 commit
  11. 01 Feb, 2016 2 commits
    • bradnelson's avatar
      Adding flag for simd.js + asm->wasm. · 4529cb7b
      bradnelson authored
      Make it possible to switch on simd.js support when combined with asm.js
      in the asm->wasm path.
      
      BUG= https://code.google.com/p/v8/issues/detail?id=4203
      TEST=test-asm-validator
      R=gdeepti@chromium.org,titzer@chromium.org
      LOG=N
      
      Review URL: https://codereview.chromium.org/1643333002
      
      Cr-Commit-Position: refs/heads/master@{#33644}
      4529cb7b
    • littledan's avatar
      Ship RegExp subclassing · 4e982c0d
      littledan authored
      This patch ships the first part of RegExp subclassing--defining
      Symbol.{match,replace,search,split}, but keeping their original
      definitions which are restricted to a RegExp receiver and do not
      call out to the core 'exec' method. This is being shipped separately
      because the two sets of extension points are separate features with
      separate functionality. The amount of behavior which is held behind
      the flag is very small, just exposing the symbols as properties of
      Symbol--the behavior that the String methods call out to these Symbol
      properties has already been shipping unflagged.
      
      R=yangguo@chromium.org
      BUG=v8:4305,v8:4343,v8:4344,v8:4345
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1652793002
      
      Cr-Commit-Position: refs/heads/master@{#33629}
      4e982c0d
  12. 29 Jan, 2016 1 commit
  13. 28 Jan, 2016 2 commits
    • rmcilroy's avatar
      [Interpreter] Add option to trace bytecode execution. · 6399fce5
      rmcilroy authored
      Adds --trace-ignition flag which allows tracing of bytecodes as they
      execute. As well as printing out the bytecode, this also prints out the
      input and output registers to each operation. The generated output looks
      as follows:
      
       -> 0x350cb46d5264 (139) : 49 fc fb 03 07    Call r4, r5, #3, [7]
            [ accumulator -> 0x177fba00bc99 <JS Array[2]> ]
            [          r4 -> 0x350cb46ce099 <JS Function InstallFunctions (SharedFunctionInfo 0x350cb46470c1)> ]
            [          r5 -> 0x350cb46cddc1 <an Object with map 0x35fdf590a3a9> ]
            [          r6 -> 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
            [          r7 -> 2 ]
            [ accumulator <- 0x350cb4604189 <undefined> ]
       -> 0x350cb46d5978 (47) : 4b f8 00 00 00    CallRuntime [248], r0, #0
            [ accumulator -> 0x350cb4604189 <undefined> ]
            [ accumulator <- 0x350cb4604189 <undefined> ]
       -> 0x350cb46d597d (52) : 23 09             Ldar a0
            [ accumulator -> 0x350cb4604189 <undefined> ]
            [          a0 -> 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
            [ accumulator <- 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
       -> 0x350cb46d597f (54) : 24 fd             Star r3
            [ accumulator -> 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
            [ accumulator <- 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
            [          r3 <- 0x350cb46d3f11 <JS Function Proxy (SharedFunctionInfo 0x350cb46d3e61)> ]
      
      Also adds support for --print_source and --print-ast to the interpreter.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1640213002
      
      Cr-Commit-Position: refs/heads/master@{#33594}
      6399fce5
    • neis's avatar
      Implement the function.sent proposal. · e2466bb5
      neis authored
      The body of a generator function can now refer to the generator's input value via a new
      "function.sent" expression.  We extend the proposal at
      https://github.com/allenwb/ESideas/blob/master/Generator%20metaproperty.md
      in the obvious way to also apply to GeneratorResumeAbrupt.
      This will enable us to desugar yield*.
      
      The new syntax is behind a new --harmony-function-sent flag.
      
      BUG=v8:4700
      LOG=n
      
      Review URL: https://codereview.chromium.org/1620253003
      
      Cr-Commit-Position: refs/heads/master@{#33574}
      e2466bb5
  14. 27 Jan, 2016 2 commits
    • verwaest's avatar
      [api] Default native data property setter to replace the setter if the property is writable. · 997cd3d9
      verwaest authored
      BUG=chromium:580584
      LOG=y
      
      Review URL: https://codereview.chromium.org/1632603002
      
      Cr-Commit-Position: refs/heads/master@{#33551}
      997cd3d9
    • littledan's avatar
      Stage RegExp subclassing · 8c663eea
      littledan authored
      This patch stages the first part of RegExp subclassing--defining
      Symbol.{match,replace,search,split}, but keeping their original
      definitions which are restricted to a RegExp receiver and do not
      call out to the core 'exec' method. This is being staged separately
      because the two sets of extension points are separate features with
      separate functionality. The amount of behavior which is held behind
      the flag is very small, just exposing the symbols as properties of
      Symbol--the behavior that the String methods call out to these Symbol
      properties has already been shipping unflagged.
      
      R=yangguo@chromium.org
      BUG=v8:4305,v8:4343,v8:4344,v8:4345
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1637703003
      
      Cr-Commit-Position: refs/heads/master@{#33534}
      8c663eea
  15. 26 Jan, 2016 2 commits
    • mlippautz's avatar
      [heap] Cleanup SemiSpace · 8391d425
      mlippautz authored
      - Remove semispace target capacity: It's unused and adds some unneeded
        complexity
      
      - Enforcing decl order for SemiSpace
      - Move forward declarations in spaces.h to top
      - Add all members to default constructor
      
      BUG=chromium:581076
      LOG=N
      
      Review URL: https://codereview.chromium.org/1631713002
      
      Cr-Commit-Position: refs/heads/master@{#33515}
      8391d425
    • ishell's avatar
      [es6] Tail calls support. · 6131ab1e
      ishell authored
      This CL implements PrepareForTailCall() mentioned in ES6 spec for full codegen, Crankshaft and Turbofan.
      When debugger is active tail calls are disabled.
      
      Tail calling can be enabled by --harmony-tailcalls flag.
      
      BUG=v8:4698
      LOG=Y
      TBR=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/1609893003
      
      Cr-Commit-Position: refs/heads/master@{#33509}
      6131ab1e
  16. 25 Jan, 2016 2 commits
  17. 22 Jan, 2016 4 commits
  18. 21 Jan, 2016 1 commit
    • titzer's avatar
      [wasm] Add utilities to print out WASM ast directly from the bytes. · 3b6b8119
      titzer authored
      Motivated by finding a bug in a larger module, this CL adds the ability
      to dump out a byte-by-byte, nested view of the decoded AST. This
      byte-by-byte output uses the opcode enum to make it readable, but is
      suitable for pasting into a byte[] in C or JS and thus making a regression
      test.
      
      Also fix a bug; the case of running out of registers for indirect calls.
      
      R=ahaas@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1616973004
      
      Cr-Commit-Position: refs/heads/master@{#33442}
      3b6b8119
  19. 20 Jan, 2016 1 commit
  20. 19 Jan, 2016 1 commit
  21. 13 Jan, 2016 1 commit
  22. 12 Jan, 2016 2 commits