1. 13 Sep, 2016 1 commit
    • jpp's avatar
      [V8][Wasm] Removes references to finally in wasm. · ee8ae932
      jpp authored
      The initial support for low level exception handling in Wasm will not
      support finally blocks. This decision is taken for both simplicity (
      handling finallys is not straightforward if we want try blocks to yield
      values), and lack of good use case (clang++ does not need them.) They
      may be added in the future once we understand the implications of
      having them.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2336303002
      Cr-Commit-Position: refs/heads/master@{#39393}
      ee8ae932
  2. 12 Sep, 2016 1 commit
  3. 06 Sep, 2016 1 commit
  4. 02 Sep, 2016 1 commit
  5. 01 Sep, 2016 2 commits
  6. 26 Aug, 2016 2 commits
  7. 16 Aug, 2016 1 commit
  8. 11 Aug, 2016 1 commit
    • jpp's avatar
      [WASM] Exception handling prototype. · b2b40134
      jpp authored
      ------------------------------------------------------------------------
      
      This CL adds support for decoding eh-related wasm opcodes:
      * Throw: used for raising an exception; the thrown value lives on top of
               the evaluation stack;
      * TryCatch: used to start a try block that has a catch clause;
      * TryFinally: used to start a try block that has a finally clause;
      * TryCatchFinally: used to start a try block that has both catch and
                         finally clauses;
      * Catch <local>: used to start the catch block of a
                       TryCatch/TryCatchFinally block; the thrown value is
                       stored in local <local>; and
      * Finally: used to start a finally block of TryFinally/TryCatchFinally.
      
      Three different opcodes are used to start a try block to simplify the
      AST construction during bytecode parsing.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2222193004
      Cr-Commit-Position: refs/heads/master@{#38579}
      b2b40134
  9. 02 Aug, 2016 1 commit
  10. 28 Jul, 2016 1 commit
    • ddchen's avatar
      [wasm] Add support for multiple indirect function tables · 0a9d4003
      ddchen authored
      This patch updates internal data structures used by V8 to support
      multiple indirect function tables (WebAssembly/design#682). But, since
      this feature is post-MVP, the functionality is not directly exposed and
      parsing/generation of WebAssembly is left unchanged. Nevertheless, it
      is being used in an experiment to implement fine-grained control flow
      integrity based on C/C++ types.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2174123002
      Cr-Commit-Position: refs/heads/master@{#38110}
      0a9d4003
  11. 21 Jul, 2016 2 commits
  12. 13 Jul, 2016 2 commits
  13. 11 Jul, 2016 1 commit
  14. 01 Jul, 2016 1 commit
  15. 29 Jun, 2016 2 commits
  16. 27 Jun, 2016 1 commit
    • ddchen's avatar
      [wasm] improve handling of malformed inputs · fd2bf837
      ddchen authored
      When reading malformed input, the length of variable-length types can be very large. Computing operand length with this and adding it to PC will overflow and screw up decode.
      
      This patch switches to unsigned int for arity and lengths, terminates loop analysis on error, adds overflow checking to BranchTableOperand, and adds a unit test.
      
      Review-Url: https://codereview.chromium.org/2052623003
      Cr-Commit-Position: refs/heads/master@{#37301}
      fd2bf837
  17. 21 Jun, 2016 1 commit
    • rossberg's avatar
      Upgrade Wasm JS API, step 1 · 386c747b
      rossberg authored
      Implements:
      - WebAssembly object,
      - WebAssembly.Module constructor,
      - WebAssembly.Instance constructor,
      - WebAssembly.compile async method,
      - and Module and Instance instance objects.
      
      Also, changes ErrorThrower to support capturing errors in a promise reject.
      
      Since we cannot yet compile without fixing the Wasm memory, and cannot validate a module without compiling, the Module constructor and compile method don't do anything yet but checking that their argument is a suitable BufferSource. Instead of a compiled module, the hidden state of a Module object currently is just that buffer.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2084573002
      Cr-Commit-Position: refs/heads/master@{#37143}
      386c747b
  18. 20 Jun, 2016 2 commits
    • jpp's avatar
      V8. ASM-2-WASM. Another asm-types.h revision. · 4257fdea
      jpp authored
      BUG=
      
      Review-Url: https://codereview.chromium.org/2078053002
      Cr-Commit-Position: refs/heads/master@{#37110}
      4257fdea
    • mtrofin's avatar
      [wasm] Separate compilation from instantiation · c1d01aea
      mtrofin authored
      Compilation of wasm functions happens before instantiation. Imports are linked afterwards, at instantiation time. Globals and memory are also
      allocated and then tied in via relocation at instantiation time.
      
      This paves the way for implementing Wasm.compile, a prerequisite to
      offering the compiled code serialization feature.
      
      Currently, the WasmModule::Compile method just returns a fixed array
      containing the code objects. More appropriate modeling of the compiled module to come.
      
      Opportunistically centralized the logic on how to update memory
      references, size, and globals, since that logic is the exact same on each
      architecture, except for the actual storing of values back in the
      instruction stream.
      
      BUG=v8:5072
      
      Review-Url: https://codereview.chromium.org/2056633002
      Cr-Commit-Position: refs/heads/master@{#37086}
      c1d01aea
  19. 14 Jun, 2016 1 commit
  20. 13 Jun, 2016 1 commit
  21. 07 Jun, 2016 1 commit
  22. 25 May, 2016 2 commits
  23. 24 May, 2016 1 commit
  24. 17 May, 2016 1 commit
  25. 13 May, 2016 2 commits
  26. 11 May, 2016 1 commit
  27. 09 May, 2016 2 commits
  28. 06 May, 2016 1 commit
  29. 03 May, 2016 1 commit
  30. 02 May, 2016 1 commit
  31. 29 Apr, 2016 1 commit
    • titzer's avatar
      [wasm] Binary 11: Bump module version to 0xB. · ee03b721
      titzer authored
      [wasm] Binary 11: Swap the order of section name / section length.
      [wasm] Binary 11: Shorter section names.
      [wasm] Binary 11: Add a prefix for function type declarations.
      [wasm] Binary 11: Function types encoded as pcount, p*, rcount, r*
      [wasm] Fix numeric names for functions.
      
      R=rossberg@chromium.org,jfb@chromium.org,ahaas@chromium.org
      BUG=chromium:575167
      LOG=Y
      
      Review-Url: https://codereview.chromium.org/1896863003
      Cr-Commit-Position: refs/heads/master@{#35897}
      ee03b721