1. 27 Mar, 2020 3 commits
  2. 26 Mar, 2020 16 commits
  3. 25 Mar, 2020 16 commits
  4. 24 Mar, 2020 5 commits
    • Clemens Backes's avatar
      [wasm] Fix OSR on wasm calls · 851a395f
      Clemens Backes authored
      This fixes issues with replacing the return address of deeper (non-top)
      wasm frames, i.e. frames which are at a call position. The replaced
      address should also point after the call in the new code, so we don't
      execute the same call again.
      
      This is achieved by using slightly different encodings for breakpoint
      positions and other (wasm instruction) positions. Breakpoints set
      {is_instruction} to {false} in the source position table entry, whereas
      usual wasm instruction set it to {true}.
      Also, during stack walking for OSR, we remember whether we want to OSR
      to the position before the instruction (if it's the top frame), or after
      the call instruction (if it's deeper in the stack). We then use the
      {is_instruction} predicate to find the right location.
      
      R=thibaudm@chromium.org
      
      Bug: v8:10321
      Change-Id: I73212a7532c6ecf4c82bde76fe4059c8203e422c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116206Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66850}
      851a395f
    • Michael Lippautz's avatar
      api: Add myself to OWNERS · 19de495c
      Michael Lippautz authored
      As discussed offline, adding myself to OWNERS for the C++ GC, handles,
      and Blink embedding issues in general.
      
      Bug: chromium:1056170
      Change-Id: Iff6a9f119000c04b40fb12b70f56d9bab7e32b43
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116204Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66849}
      19de495c
    • Ng Zhi An's avatar
      [wasm] Speed up some tests in grow-memory · 30c3ea66
      Ng Zhi An authored
      Rework the testMemoryGrowReadWrite and testMemoryGrowZeroInitialSize
      tests. Combine the different sized tests (32, 16, 8 bit integers) into a
      single base tests, taking in function arguments to specify which
      load/store function to call from the module exports.
      
      Also reduced the number of checks made in each test. Previously the test
      was asserting on every single valid offset. Now it checks the first 5
      and the last 5 of each page of memory. From a quick local test using
      `time`, it speeds up this test on x64 from ~40s to ~20s.
      
      There is more work to be done: there are other tests below that also
      assert on each offset, we can change those in a future patch.
      
      The goal is to be able to run this on arm simulators
      sufficiently quickly, and not require to mark this test as slow.
      
      Bug: v8:7783
      Change-Id: I2b17cf1811de6c26332d7e8f91efbbac3e89f6e3
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116601Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66848}
      30c3ea66
    • Michael Lippautz's avatar
      cppgc: Add GCInfo machinery · 4132d725
      Michael Lippautz authored
      GCInfo and its related infrastructure is used to record information
      about types. Currently, we store finalization and vtable information.
      Future changes will introduce naming and tracing, similar to Oilpan in
      Blink.
      
      Information is stored in a process-wide global table that is
      maintained at runtime. For static builds such information can be
      recorded in the binary without the runtime overhead which is future
      work.
      
      This ports `third_party/blink/renderer/platform/heap/gc_info.{h,cc}`
      on a semantic level. In addition to adjusting to V8's needs, we also
      re-commit the already filled parts of the info table as read-only when
      possible, making it harder to override type information.
      
      Bug: chromium:1056170
      Change-Id: Ib01eb24e6f8a94a4a647efde7af37689f8c20ba2
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2111214
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66847}
      4132d725
    • Georg Neis's avatar
      [turbofan] Remove a DCHECK · 499dcead
      Georg Neis authored
      This DCHECK can fail because we currently pass arbitrary types
      in the typer unittests. Changing the tests is complicated by the
      fact that the compiler makes heavy use of type Any and we don't want
      to lose test coverage for that. Hence for now I just remove the DCHECK.
      
      I'm working on a follow-up CL but that one will not be able to land any
      time soon due to the current restrictions.
      
      Bug: v8:10338
      Change-Id: Ibb3bb44e41b76cd91b190af184f6345cdf97d49d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116203
      Commit-Queue: Georg Neis <neis@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Auto-Submit: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66846}
      499dcead