1. 22 Nov, 2017 33 commits
  2. 21 Nov, 2017 7 commits
    • Clemens Hammacher's avatar
      [wasm] [cleanup] Use trap_handler::UseTrapHandler() · b972f7c6
      Clemens Hammacher authored
      Instead of repeating the condition for using trap handlers everywhere
      in the compiler, just use the existing function
      {trap_handler::UseTrapHandler()}.
      Note that the trap-handler.h was already included transitively, I just
      add it to comply to IWYU.
      
      R=eholk@chromium.org
      
      Change-Id: Id61910c7ac5b134b07cb266664e87a2f39a896d4
      Reviewed-on: https://chromium-review.googlesource.com/782562Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49558}
      b972f7c6
    • Michael Lippautz's avatar
      [api] Remove long-deprecated getters on WeakCallbackInfo · 65cd9669
      Michael Lippautz authored
      Bug: 
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I986e3d3a54a07b5082a52e2bc7b5505e12589d98
      Reviewed-on: https://chromium-review.googlesource.com/782324Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49557}
      65cd9669
    • Mircea Trofin's avatar
      [liftoff] API for exposing frame slot count · b9778819
      Mircea Trofin authored
      Factor out slot count calculation, and expose it so it may later be
      consumed when JIT-ing to the WasmCodeManager.
      
      Bug: 
      Change-Id: I21d673b2e3d7fa4a66ae0ab6303d29cf666d743c
      Reviewed-on: https://chromium-review.googlesource.com/782701Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49556}
      b9778819
    • Michael Achenbach's avatar
      Add flag that suppresses exception output using load() · b0305738
      Michael Achenbach authored
      Without this flag, the load() function is very chatty when
      an exception is thrown out of it, independent if the
      surrounding code catches it or not.
      
      Bug: v8:6972
      Change-Id: I4ca82689c42c729716b83e420d9c7f7e2b5213d1
      Reviewed-on: https://chromium-review.googlesource.com/781688Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49555}
      b0305738
    • Mircea Trofin's avatar
      [wasm] JIT using WasmCodeManager: codegen components. · fdb067dc
      Mircea Trofin authored
      This CL introduces those codegen changes necessary for JIT-ing using
      the WasmCodeManager.
      
      Bug: v8:6876
      Change-Id: I6b463b3e278f5e53f8dfa488f76eeaeb5231dbea
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/782261Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49554}
      fdb067dc
    • Alexey Kozyatinskiy's avatar
      [inspector] reworked async instrumentation for promises · ed9b2072
      Alexey Kozyatinskiy authored
      Old instrumentation was designed to collect promise creation stack and
      promise scheduled stack together. In DevTools for last 6 months we
      show only creation stack for promises. We got strong support from users
      for new model. Now we can drop support for scheduled stacks and
      simplify implementation.
      
      New promise instrumentation is straightforward:
      - we send kDebugPromiseThen when promise is created by .then call,
      - we send kDebugPromiseCatch when promise is created by .catch call,
      - we send kDebugWillHandle before chained callback and kDebugDidHandle
        after chained callback,
      - and we send separate kDebugAsyncFunctionPromiseCreated for internal
        promise inside async await function.
      
      Advantages:
      - we reduce amount of captured stacks (we do not capture stack for
        promise that constructed not by .then or .catch),
      - we can consider async task related to .then and .catch as one shot
        since chained callback is executed once,
      - on V8 side we can implement required instrumentation using only
        promise hooks,
      
      Disadvantage:
      - see await-promise test, sometimes scheduled stack was useful since we
        add catch handler in native code,
      
      Implementation details:
      - on kInit promise hook we need to figure out why promise was created.
        We analyze builtin functions until first user defined function on
        current stack. If there is kAsyncFunctionPromiseCreate function then
        we send kDebugAsyncFunctionPromiseCreated event. If there is
        kPromiseThen or kPromiseCatch then only if this function is bottom
        builtin function we send corresponded event to inspector. We need it
        because Promise.all internally calls .then and in this case we have
        Promise.all and Promise.then on stack at the same time and we do not
        need to report this internally created promise to inspector.
      
      Bug: chromium:778796
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: I53f47ce8c5c4a9897655c3396c249ea59529ae47
      Reviewed-on: https://chromium-review.googlesource.com/765208
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49553}
      ed9b2072
    • Bill Budge's avatar
      [Memory] Rewrite platform OS Commit / Uncommit in terms of permissions. · 0481b23e
      Bill Budge authored
      - Eliminates CommitRegion and UncommitRegion methods, replacing them with
        calls to SetPermissions.
      - Makes a similar change to the API of VirtualMemory.
      - This changes system calls from mmap to mprotect on most POSIX platforms.
      
      Bug: chromium:756050
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Ib10f8293c9398c6c1e729cd7d686b7c97e6a5d75
      Reviewed-on: https://chromium-review.googlesource.com/769679Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49552}
      0481b23e