1. 25 Jan, 2017 1 commit
  2. 24 Jan, 2017 2 commits
  3. 23 Jan, 2017 3 commits
    • rossberg's avatar
      [wasm] Check segment bounds beforehand · fc44a1d9
      rossberg authored
      Also fixes check for table segments to be performed against actual size not declared one.
      
      Makes us pass memory.wast and linking.wast tests (modulo issue 5860).
      
      R=titzer@chromium.org
      BUG=
      
      Review-Url: https://codereview.chromium.org/2649553002
      Cr-Commit-Position: refs/heads/master@{#42607}
      fc44a1d9
    • ahaas's avatar
      [wasm] Change the constant kV8MaxWasmMemoryPages to a command line flag. · 94266b7d
      ahaas authored
      The hardcoded constant caused a problem for the wasm fuzzer because
      when the maximum memory was allocated in a test case, clusterfuzz ran
      out of memory. with the command line flag we can set a lower limit
      for the fuzzer.
      
      The flag has the value of the constant as its default value, so that
      for everything but the fuzzers nothing should change.
      
      R=titzer@chromium.org
      BUG=chromium:676888
      
      Review-Url: https://codereview.chromium.org/2626313003
      Cr-Commit-Position: refs/heads/master@{#42599}
      94266b7d
    • ahaas's avatar
      [wasm] Fix a typo in wasm-js.cc · 1f069202
      ahaas authored
      I guess that a comparison with i::wasm::kV8MaxWasmTableSize was not
      intended here. I did not add a test because I do not even know if it is
      even possible to create a WasmMemoryObject with
      maximum_pages > i::wasm::kV8MaxWasmMemoryPages. Maybe we should replace
      the condition with a Check instead.
      
      R=titzer@chromium.org
      
      Review-Url: https://codereview.chromium.org/2645273004
      Cr-Commit-Position: refs/heads/master@{#42596}
      1f069202
  4. 20 Jan, 2017 3 commits
  5. 18 Jan, 2017 2 commits
  6. 17 Jan, 2017 1 commit
  7. 16 Jan, 2017 4 commits
  8. 15 Jan, 2017 1 commit
  9. 13 Jan, 2017 1 commit
  10. 12 Jan, 2017 2 commits
  11. 11 Jan, 2017 3 commits
  12. 10 Jan, 2017 1 commit
  13. 21 Dec, 2016 1 commit
  14. 20 Dec, 2016 1 commit
    • clemensh's avatar
      [wasm] Introduce WasmSharedModuleData and refactor other objects · 081ac370
      clemensh authored
      The new object will hold information which is shared by all clones of a
      WasmCompiledModule, e.g. the decoded asm.js offset table, and in the
      future also breakpoints. From there, we can set them on each new
      instantiation of any clone.
      
      While already changing lots of the code base, I also renamed all
      getters from "get_foo" to "foo", to conform to the style guide.
      
      R=titzer@chromium.org, yangguo@chromium.org
      BUG=v8:5732
      
      Review-Url: https://codereview.chromium.org/2591653002
      Cr-Commit-Position: refs/heads/master@{#41862}
      081ac370
  15. 19 Dec, 2016 1 commit
  16. 16 Dec, 2016 1 commit
  17. 05 Dec, 2016 1 commit
  18. 23 Nov, 2016 3 commits
    • gdeepti's avatar
      [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. · e108f90d
      gdeepti authored
      Add support for WebAssembly.Memory objects to be simultaneously referenced by multiple Instance objects. GrowingMemory should maintain a consistent view of memory across instances.
       - Store a link to instances that share WebAssembly.Memory in the WasmMemoryObject, updated on instantiate.
       - Implement WasmInstanceWrapper as a wrapper around the instance object to keep track of previous/next instances, instance object is stored as a WeakCell that can be garbage collected.
       - MemoryInstanceFinalizer maintains a valid list of instances when an instance is garbage collected.
       - Refactor GrowInstanceMemory to GrowMemoryBuffer that allocates a new buffer, and UncheckedUpdateInstanceMemory that updates memory references for an instance.
      
       R=titzer@chromium.org, mtrofin@chromium.org, bradnelson@chromium.org
      
      Committed: https://crrev.com/30ef8e33f3a199a27ca8512bcee314c9522d03f6
      Committed: https://crrev.com/3c98e339599b068f1ed630afb7601ff942424d31
      Review-Url: https://codereview.chromium.org/2471883003
      Cr-Original-Original-Commit-Position: refs/heads/master@{#41121}
      Cr-Original-Commit-Position: refs/heads/master@{#41198}
      Cr-Commit-Position: refs/heads/master@{#41234}
      e108f90d
    • hablich's avatar
      Revert of [wasm] WebAssembly.Memory object can be referenced by multiple... · de330e13
      hablich authored
      Revert of [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. (patchset #13 id:240001 of https://codereview.chromium.org/2471883003/ )
      
      Reason for revert:
      Test crashes after an unrelated revert: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/7189
      
      Reverting because of recommendation from WASM team.
      
      Original issue's description:
      > [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects.
      >
      > Add support for WebAssembly.Memory objects to be simultaneously referenced by multiple Instance objects. GrowingMemory should maintain a consistent view of memory across instances.
      >  - Store a link to instances that share WebAssembly.Memory in the WasmMemoryObject, updated on instantiate.
      >  - Implement WasmInstanceWrapper as a wrapper around the instance object to keep track of previous/next instances, instance object is stored as a WeakCell that can be garbage collected.
      >  - MemoryInstanceFinalizer maintains a valid list of instances when an instance is garbage collected.
      >  - Refactor GrowInstanceMemory to GrowMemoryBuffer that allocates a new buffer, and UncheckedUpdateInstanceMemory that updates memory references for an instance.
      >
      >  R=titzer@chromium.org, mtrofin@chromium.org, bradnelson@chromium.org
      >
      > Committed: https://crrev.com/30ef8e33f3a199a27ca8512bcee314c9522d03f6
      > Committed: https://crrev.com/3c98e339599b068f1ed630afb7601ff942424d31
      > Cr-Original-Commit-Position: refs/heads/master@{#41121}
      > Cr-Commit-Position: refs/heads/master@{#41198}
      
      TBR=bradnelson@chromium.org,mtrofin@chromium.org,titzer@chromium.org,gdeepti@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review-Url: https://codereview.chromium.org/2529573002
      Cr-Commit-Position: refs/heads/master@{#41208}
      de330e13
    • gdeepti's avatar
      [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. · 3c98e339
      gdeepti authored
      Add support for WebAssembly.Memory objects to be simultaneously referenced by multiple Instance objects. GrowingMemory should maintain a consistent view of memory across instances.
       - Store a link to instances that share WebAssembly.Memory in the WasmMemoryObject, updated on instantiate.
       - Implement WasmInstanceWrapper as a wrapper around the instance object to keep track of previous/next instances, instance object is stored as a WeakCell that can be garbage collected.
       - MemoryInstanceFinalizer maintains a valid list of instances when an instance is garbage collected.
       - Refactor GrowInstanceMemory to GrowMemoryBuffer that allocates a new buffer, and UncheckedUpdateInstanceMemory that updates memory references for an instance.
      
       R=titzer@chromium.org, mtrofin@chromium.org, bradnelson@chromium.org
      
      Committed: https://crrev.com/30ef8e33f3a199a27ca8512bcee314c9522d03f6
      Review-Url: https://codereview.chromium.org/2471883003
      Cr-Original-Commit-Position: refs/heads/master@{#41121}
      Cr-Commit-Position: refs/heads/master@{#41198}
      3c98e339
  19. 21 Nov, 2016 1 commit
  20. 19 Nov, 2016 2 commits
    • machenbach's avatar
      Revert of [wasm] WebAssembly.Memory object can be referenced by multiple... · 682f6500
      machenbach authored
      Revert of [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. (patchset #10 id:180001 of https://codereview.chromium.org/2471883003/ )
      
      Reason for revert:
      Breaks gc stress:
      https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/7114
      
      Original issue's description:
      > [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects.
      >
      > Add support for WebAssembly.Memory objects to be simultaneously referenced by multiple Instance objects. GrowingMemory should maintain a consistent view of memory across instances.
      >  - Store a link to instances that share WebAssembly.Memory in the WasmMemoryObject, updated on instantiate.
      >  - Implement WasmInstanceWrapper as a wrapper around the instance object to keep track of previous/next instances, instance object is stored as a WeakCell that can be garbage collected.
      >  - MemoryInstanceFinalizer maintains a valid list of instances when an instance is garbage collected.
      >  - Refactor GrowInstanceMemory to GrowMemoryBuffer that allocates a new buffer, and UncheckedUpdateInstanceMemory that updates memory references for an instance.
      >
      >  R=titzer@chromium.org, mtrofin@chromium.org, bradnelson@chromium.org
      >
      > Committed: https://crrev.com/30ef8e33f3a199a27ca8512bcee314c9522d03f6
      > Cr-Commit-Position: refs/heads/master@{#41121}
      
      TBR=bradnelson@chromium.org,mtrofin@chromium.org,titzer@chromium.org,gdeepti@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review-Url: https://codereview.chromium.org/2512323004
      Cr-Commit-Position: refs/heads/master@{#41122}
      682f6500
    • gdeepti's avatar
      [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. · 30ef8e33
      gdeepti authored
      Add support for WebAssembly.Memory objects to be simultaneously referenced by multiple Instance objects. GrowingMemory should maintain a consistent view of memory across instances.
       - Store a link to instances that share WebAssembly.Memory in the WasmMemoryObject, updated on instantiate.
       - Implement WasmInstanceWrapper as a wrapper around the instance object to keep track of previous/next instances, instance object is stored as a WeakCell that can be garbage collected.
       - MemoryInstanceFinalizer maintains a valid list of instances when an instance is garbage collected.
       - Refactor GrowInstanceMemory to GrowMemoryBuffer that allocates a new buffer, and UncheckedUpdateInstanceMemory that updates memory references for an instance.
      
       R=titzer@chromium.org, mtrofin@chromium.org, bradnelson@chromium.org
      
      Review-Url: https://codereview.chromium.org/2471883003
      Cr-Commit-Position: refs/heads/master@{#41121}
      30ef8e33
  21. 17 Nov, 2016 1 commit
  22. 16 Nov, 2016 1 commit
  23. 11 Nov, 2016 1 commit
    • titzer's avatar
      [wasm] Move all heap-allocated WASM structures into wasm-objects.h. · fa9c25ce
      titzer authored
      This CL moves all heap-allocated WASM data structures, both ones
      that are bonafide JSObjects and ones that are FixedArrays only, into a
      consistent place with consistent layout. Note that not all accessors are complete, and I haven't fully spread the new static typing goodness
      to all places in the code.
      
      R=ahaas@chromium.org,rossberg@chromium.org
      CC=gdeepti@chromium.org,mtrofin@chromium.org,clemensh@chromium.org
      BUG=
      
      Review-Url: https://codereview.chromium.org/2490663002
      Cr-Commit-Position: refs/heads/master@{#40913}
      fa9c25ce
  24. 08 Nov, 2016 1 commit
  25. 29 Oct, 2016 1 commit