1. 09 Nov, 2016 5 commits
    • ahaas's avatar
      [wasm] Data section without memory causes a validation error · bd472ffa
      ahaas authored
      Another spec issue.
      
      R=titzer@chromium.org, rossberg@chromium.org
      TEST=unittests/WasmModuleVerifyTest.DataWithoutMemory
      
      Review-Url: https://codereview.chromium.org/2486973003
      Cr-Commit-Position: refs/heads/master@{#40855}
      bd472ffa
    • tebbi's avatar
      [turbofan] Fixed reuse of nested ObjectState in escape analysis · 288d3812
      tebbi authored
      The problem is that writes to nested objects do not lead to a copy of a referencing VirtualObject, and that each VirtualObjects maintains a cache of an ObjectState node. Together, this leads to inappropriate reuse of ObjectState nodes.
      This fix simply always copies all virtual objects when a new VirtualState is created. This is clearly not optimal to avoid clones, but determining precisely which virtual objects are affected by a write is a transitive closure computation on the virtual objects of a virtual state. Alternatively, one could change the semantics of the node cache.
      
      BUG=v8:5611
      
      Review-Url: https://codereview.chromium.org/2488713002
      Cr-Commit-Position: refs/heads/master@{#40854}
      288d3812
    • mlippautz's avatar
      [heap] Tracer: Eliminate prefix for external callbacks · 8d6de5f2
      mlippautz authored
      The distinction didn't provide any benefits.
      
      BUG=chromium:651354
      
      Review-Url: https://codereview.chromium.org/2492433002
      Cr-Commit-Position: refs/heads/master@{#40853}
      8d6de5f2
    • ahaas's avatar
      [wasm] Indirect calls without function table cause validation errors. · 4db05d40
      ahaas authored
      The spec defines that indirect calls in WebAssembly code should cause a
      validation error if no function table exists.
      
      The CL contains the following changes:
      1) Throw a validation error for indirect calls if the function table
         not exist.
      2) Do not create TF nodes to throw a runtime error for indirect calls
         if the function table does not exist.
      3) Fix existing unit tests by creating a dummy function table.
      4) Add new a new test which tests that indirect calls without function
         table cause a validation error.
      
      R=rossberg@chromium.org
      CC=titzer@chromium.org
      
      TEST=unittests/AstDecoderTest.IndirectCallsWithoutTableCrash
      
      Review-Url: https://codereview.chromium.org/2484623002
      Cr-Commit-Position: refs/heads/master@{#40852}
      4db05d40
    • littledan's avatar
      Avoid calling out to JS during stack overflow · 5975c47a
      littledan authored
      If an exception is thrown when there is a Promise being created, the Promise
      catch prediction code would call into a part implemented in JavaScript to see if
      the Promise has a catch handler. If it is not possible to call back into JS,
      e.g., due to a stack overflow, then this would lead to a crash. This patch
      "speculates" that, if it's impossible to call back into JavaScript, then the
      error is unhandled, avoding the issue. In a future patch, the catch prediction
      logic should be entirely written in C++, but this patch adds a minimal fix to
      be more friendly to backports.
      
      BUG=chromium:662935
      R=jgruber
      
      Review-Url: https://codereview.chromium.org/2487833002
      Cr-Commit-Position: refs/heads/master@{#40851}
      5975c47a
  2. 08 Nov, 2016 35 commits