1. 29 Sep, 2017 29 commits
  2. 28 Sep, 2017 11 commits
    • Mostyn Bramley-Moore's avatar
      [jumbo] add unittests jumbo support · d6ead37d
      Mostyn Bramley-Moore authored
      TBR=jkummerow@chromium.org
      
      Bug: chromium:746958
      Change-Id: I7500b6206c4ceb087672de5b61b7e7ad234bb425
      Reviewed-on: https://chromium-review.googlesource.com/690397
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48213}
      d6ead37d
    • Mostyn Bramley-Moore's avatar
      Update AUTHORS file for Vewd Software · e52b4a62
      Mostyn Bramley-Moore authored
      Formerly known as Opera TV.
      
      Change-Id: If141d86e744f3ea9dc9605f6d2b35fc78d291a69
      Reviewed-on: https://chromium-review.googlesource.com/683175Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com>
      Cr-Commit-Position: refs/heads/master@{#48212}
      e52b4a62
    • Mircea Trofin's avatar
      [wasm] Rename Release to Merge in the DisjointAllocationPool · 1cb0b9bf
      Mircea Trofin authored
      Merge better captures the upcoming usecase in the wasm native heap,
      where allocating/freeing is moving the accounting of memory from
      a free list to an allocated list and vice-versa - making 'Release'
      an odd API when allocating.
      
      Bug: 
      Change-Id: I9010959c91a1e8585eb06303ab06078132a03f60
      Reviewed-on: https://chromium-review.googlesource.com/688004Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48211}
      1cb0b9bf
    • Clemens Hammacher's avatar
      Revert "[turbofan] eagerly prune None types and deadness from the graph" · 324e0a7a
      Clemens Hammacher authored
      This reverts commit e1cdda25.
      
      Reason for revert: Fails 'constructor-inlining' on GC-Stress bot: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/15270
      
      Original change's description:
      > [turbofan] eagerly prune None types and deadness from the graph
      > 
      > In addition to using the {Dead} node to prune dead control nodes and nodes that 
      > depend on them, we introduce a {DeadValue} node representing an impossible value 
      > that can occur at any position in the graph. The extended {DeadCodeElimination}
      > prunes {DeadValue} and its uses, inserting a crashing {Unreachable} node into
      > the effect chain when possible. The remaining uses of {DeadValue} are handled
      > in {EffectControlLinearizer}, where we always have access to the effect chain.
      > In addition to explicitly introduced {DeadValue} nodes, we consider any value use
      > of a node with type {None} as dead.
      > 
      > Bug: chromium:741225
      > Change-Id: Icc4b636d1d018c452ba1a2fa7cd3e00e522f1655
      > Reviewed-on: https://chromium-review.googlesource.com/641250
      > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48208}
      
      TBR=jarin@chromium.org,tebbi@chromium.org
      
      Change-Id: I9c175d47e2ee4b11a36ed90421202f2354610398
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:741225
      Reviewed-on: https://chromium-review.googlesource.com/690080Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48210}
      324e0a7a
    • Enrico Bacis's avatar
      [wasm] Introduce the WasmContext · 6cd7a5a7
      Enrico Bacis authored
      The WasmContext struct introduced in this CL is used to store the
      mem_size and mem_start address of the wasm memory. These variables can
      be accessed at C++ level at graph build time (e.g., initialized during
      instance building). When the GrowMemory runtime is invoked, the context
      variables can be changed in the WasmContext at C++ level so that the
      generated code will load the correct values.
      
      This requires to insert a relocatable pointer only in the
      JSToWasmWrapper (and in the other wasm entry points), the value is then
      passed from function to function as an automatically added additional
      parameter. The WasmContext is then dropped when creating an Interpreter
      Entry or when invoking a JavaScript function. This removes the need of
      patching the generated code at runtime (i.e., when the memory grows)
      with respect to WASM_MEMORY_REFERENCE and WASM_MEMORY_SIZE_REFERENCE.
      However, we still need to patch the code at instance build time to patch
      the JSToWasmWrappers; in fact the address of the WasmContext is not
      known during compilation, but only when the instance is built.
      
      The WasmContext address is passed as the first parameter. This has the
      advantage of not having to move the WasmContext around if the function
      does not use many registers. This CL also changes the wasm calling
      convention so that the first parameter register is different from the
      return value register. The WasmContext is attached to every
      WasmMemoryObject, to share the same context with multiple instances
      sharing the same memory. Moreover, the nodes representing the
      WasmContext variables are cached in the SSA environment, similarly to
      other local variables that might change during execution.  The nodes are
      created when initializing the SSA environment and refreshed every time a
      grow_memory or a function call happens, so that we are sure that they
      always represent the correct mem_size and mem_start variables.
      
      This CL also removes the WasmMemorySize runtime (since it's now possible
      to directly retrieve mem_size from the context) and simplifies the
      GrowMemory runtime (since every instance now has a memory_object).
      
      R=ahaas@chromium.org,clemensh@chromium.org
      CC=gdeepti@chromium.org
      
      Change-Id: I3f058e641284f5a1bbbfc35a64c88da6ff08e240
      Reviewed-on: https://chromium-review.googlesource.com/671008
      Commit-Queue: Enrico Bacis <enricobacis@google.com>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48209}
      6cd7a5a7
    • Tobias Tebbi's avatar
      [turbofan] eagerly prune None types and deadness from the graph · e1cdda25
      Tobias Tebbi authored
      In addition to using the {Dead} node to prune dead control nodes and nodes that 
      depend on them, we introduce a {DeadValue} node representing an impossible value 
      that can occur at any position in the graph. The extended {DeadCodeElimination}
      prunes {DeadValue} and its uses, inserting a crashing {Unreachable} node into
      the effect chain when possible. The remaining uses of {DeadValue} are handled
      in {EffectControlLinearizer}, where we always have access to the effect chain.
      In addition to explicitly introduced {DeadValue} nodes, we consider any value use
      of a node with type {None} as dead.
      
      Bug: chromium:741225
      Change-Id: Icc4b636d1d018c452ba1a2fa7cd3e00e522f1655
      Reviewed-on: https://chromium-review.googlesource.com/641250
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48208}
      e1cdda25
    • Toon Verwaest's avatar
      Replace specific IC Code::Kind with Code::STUB · 6e68a28b
      Toon Verwaest authored
      Bug: 
      Change-Id: I41d3f3086f5e90a1a1579c18eca59b5d098f637f
      Reviewed-on: https://chromium-review.googlesource.com/690374
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48207}
      6e68a28b
    • Yang Guo's avatar
      Prevent unitialized variable. · 64b67dda
      Yang Guo authored
      R=hablich@chromium.org
      
      Bug: chromium:646005
      Change-Id: I425111cb393d0119fa18fbe14bc32d5e7560b181
      Reviewed-on: https://chromium-review.googlesource.com/667157
      Commit-Queue: Michael Hablich <hablich@chromium.org>
      Reviewed-by: 's avatarMichael Hablich <hablich@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48206}
      64b67dda
    • Martyn Capewell's avatar
      [arm64] Pair some pushes and delete unused code · 193dcf76
      Martyn Capewell authored
      Pair some stack ops so that they deal with an even numbers of registers, add
      padding around profile entry calls, and delete some unused macro assembler code.
      
      Bug: v8:6644
      Change-Id: I5a5529f04738ba2a2fdb1b0d4ee93c567a3c504e
      Reviewed-on: https://chromium-review.googlesource.com/686823Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
      Cr-Commit-Position: refs/heads/master@{#48205}
      193dcf76
    • Ben L. Titzer's avatar
      [wasm] Move compilation methods to module-compiler.h · afb7bdc4
      Ben L. Titzer authored
      Note that this also makes it possible to move several classes
      into the module-compiler.cc file and inline their implementations.
      
      This also allows removing several uses of wasm-module.h from
      other places in V8 that include wasm-objects.h.
      
      R=yangguo@chromium.org,clemensh@chromium.org,ahaas@chromium.org
      
      Bug: 
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I303ee2bb49dc53c951d377a1b65699c1e0e91da7
      Reviewed-on: https://chromium-review.googlesource.com/687494Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48204}
      afb7bdc4
    • Marja Hölttä's avatar
      [parser] Skipping inner funcs: Turn off FLAG_preparser_scope_analysis. · 40856948
      Marja Hölttä authored
      For sorting out regressions.
      
      BUG=v8:5516
      
      Change-Id: I117667346b5de33c1cadd250e4a0d4f2dc807227
      Reviewed-on: https://chromium-review.googlesource.com/690077Reviewed-by: 's avatarMichael Hablich <hablich@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48203}
      40856948