1. 01 Feb, 2017 6 commits
  2. 31 Jan, 2017 31 commits
  3. 30 Jan, 2017 3 commits
    • gdeepti's avatar
      [wasm] Enable wasm imported memory tests on gc_stress · 3901e247
      gdeepti authored
      Issues with instance wrapper allocation and JS Api errata have been fixed over the last few weeks, test in the bug no longer fails - enabling tests for imported memory.
      
      BUG=5683
      
      R=bradnelson@chromium.org, ahaas@chromium.org
      
      Review-Url: https://codereview.chromium.org/2666763002
      Cr-Commit-Position: refs/heads/master@{#42795}
      3901e247
    • vogelheim's avatar
      [scanner] Regression test for Utf-8 BOM handling (crbug.com/685618). · 10bb974e
      vogelheim authored
      The existing unit test explicitly checked for this case, but was - under
      the right circumstances - defeated by the optimization to not re-run the
      whole position search if we were close enough.
      
      BUG=chromium:685618
      
      Review-Url: https://codereview.chromium.org/2663883002
      Cr-Commit-Position: refs/heads/master@{#42794}
      10bb974e
    • bjaideep's avatar
      PPC/s390: [wasm] TrapIf and TrapUnless TurboFan operators implemented on arm. · 544308b8
      bjaideep authored
      Port ca8d3ba7
      
      Original Commit Message:
      
          Original commit message:
          [wasm] Introduce the TrapIf and TrapUnless operators to generate trap code.
      
          Some instructions in WebAssembly trap for some inputs, which means that the
          execution is terminated and (at least at the moment) a JavaScript exception is
          thrown. Examples for traps are out-of-bounds memory accesses, or integer
          divisions by zero.
      
          Without the TrapIf and TrapUnless operators trap check in WebAssembly introduces 5
          TurboFan nodes (branch, if_true, if_false, trap-reason constant, trap-position
          constant), in addition to the trap condition itself. Additionally, each
          WebAssembly function has four TurboFan nodes (merge, effect_phi, 2 phis) whose
          number of inputs is linear to the number of trap checks in the function.
          Especially for functions with high numbers of trap checks we observe a
          significant slowdown in compilation time, down to 0.22 MiB/s in the sqlite
          benchmark instead of the average of 3 MiB/s in other benchmarks. By introducing
          a TrapIf common operator only a single node is necessary per trap check, in
          addition to the trap condition. Also the nodes which are shared between trap
          checks (merge, effect_phi, 2 phis) would disappear. First measurements suggest a
          speedup of 30-50% on average.
      
          This CL only implements TrapIf and TrapUnless on x64. The implementation is also
          hidden behind the --wasm-trap-if flag.
      
          Please take a special look at how the source position is transfered from the
          instruction selector to the code generator, and at the context that is used for
          the runtime call.
      
      R=ahaas@chromium.org, titzer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2666433002
      Cr-Commit-Position: refs/heads/master@{#42793}
      544308b8