1. 21 May, 2017 2 commits
  2. 20 May, 2017 1 commit
  3. 19 May, 2017 26 commits
  4. 18 May, 2017 11 commits
    • Mircea Trofin's avatar
      [wasm] {compile|instantiate}Streaming · 47702c53
      Mircea Trofin authored
      As per spec, (https://github.com/WebAssembly/design/pull/1068), we
      don't have compile/instantiate overloads anymore, instead, we
      have explicitly named members.
      
      This change introduces the new APIs, implements instantiateStreaming
      based on compileStreaming, and uses the existing embedder mechanism.
      It does not yet remove the functionality from compile/instantiate -
      we do that after we adopt the new APIs on the blink side.
      
      Also, it temporarily handles exceptions on the v8 side, which is also
      something we'll move to the blink side.
      
      Bug: 
      Change-Id: I77673b1c0d395dfcf13b2f25464fd5dfd99c8d82
      Reviewed-on: https://chromium-review.googlesource.com/508852
      Commit-Queue: Brad Nelson <bradnelson@chromium.org>
      Reviewed-by: 's avatarBrad Nelson <bradnelson@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45411}
      47702c53
    • bjaideep's avatar
      PPC/s390: Reland: [Interpreter] Transition JSFunctions to call optimized code when possible. · fc738f1e
      bjaideep authored
      Port 73d21080
      
      Original Commit Message:
      
          Now that the optimized code hangs off the feedback vector, it is possible
          to check whether a function has optimized code available every time it's
          called in the interpreter entry trampoline. If optimized code exists, the
          interpreter entry trampoline 'self-heals' the closure to point to the
          optimized code and links the closure into the optimized code list.
      
      R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:6246
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2897483002
      Cr-Commit-Position: refs/heads/master@{#45410}
      fc738f1e
    • dgozman's avatar
      [inspector] Refactor inspector test · 55849b16
      dgozman authored
      - moved all extensions to inspector_test.cc;
      - properly supported multiple context groups and sessions;
      - better isolation between components;
      - better infrastructure in protocol-test.
      
      BUG=chromium:590878
      
      Review-Url: https://codereview.chromium.org/2890463004
      Cr-Commit-Position: refs/heads/master@{#45409}
      55849b16
    • Eric Holk's avatar
      Use old ArrayBuffer free by default · c9756be9
      Eric Holk authored
      If the new Free function is not implemented, but we are freeing a Normal
      allocation, as opposed to one with guard regions, we can fall back on the
      existing Free function.
      
      Because guard regions are not yet used in normal circumstances, this will let
      embedders who have not implemented the improve ArrayBuffer::Allocator interface
      to continue working.
      
      Bug: 
      Change-Id: I2e30b523ef7493ab288110b90d8f994bfcfbc9b7
      Reviewed-on: https://chromium-review.googlesource.com/508897
      Commit-Queue: Eric Holk <eholk@chromium.org>
      Commit-Queue: Brad Nelson <bradnelson@chromium.org>
      Reviewed-by: 's avatarBrad Nelson <bradnelson@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45408}
      c9756be9
    • Eric Holk's avatar
      Add memory protection API to ArrayBuffer::Allocator · 18a26cfe
      Eric Holk authored
      WebAssembly needs to be able to allocate memory with guard regions, which
      requires more functionality from the array buffer allocator. This change adds
      functions for reserving memory regions and changing the memory protection.
      
      This CL also includes some minor refactoring of the code to free array buffers.
      
      Bug: chromium:720302
      Change-Id: Iab9a266003043b0d36592a79668d1eea53952abf
      Reviewed-on: https://chromium-review.googlesource.com/506377Reviewed-by: 's avatarJochen Eisinger <jochen@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Eric Holk <eholk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45407}
      18a26cfe
    • Adam Klein's avatar
      Reland: [ignition] Be smarter about register allocation in VisitSuspend · 5dc2d6f6
      Adam Klein authored
      Split BytecodeGenerator::VisitSuspend into two pieces, one for
      building the suspension code and one for resumption (these
      are split into separate Build methods for convenience).
      Each gets its own RegisterAllocationScope, which allows us to
      reduce the register file size of the empty generator by 1.
      
      For consistency, rename VisitGeneratorPrologue() to
      BuildGeneratorPrologue() to match the names of the two
      newly-created methods.
      
      This relands the patch originally committed in
      98927ea5, as the test failure
      due to that change was a code flushing bug. Code flushing was
      disabled in de4a4095.
      
      R=rmcilroy@chromium.org
      
      Bug: v8:6379
      Change-Id: Ifb4deafea99693c0a4e8646cf4e9884c7374cfc6
      Reviewed-on: https://chromium-review.googlesource.com/508814Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45406}
      5dc2d6f6
    • Adam Klein's avatar
      Hole check elimination: compare closure scopes instead of declaration scopes · afdf27fc
      Adam Klein authored
      Varblock scopes can be treated as the "same scope" as their surrounding
      function scope for the purposes of hole check elimination, as
      source position comparison is sufficient to determine statically that
      uses in the varblock scope are after initialization in the function scope.
      
      This allows the elimination of hole checks of lexically-bound parameter
      variables in functions with complex parameters, including rest parameters.
      
      The pre-existing code compared DeclarationScopes for legacy reasons:
      varblock scopes (and Scope::GetClosureScope()) did not exist at the
      time this code was originally written.
      
      R=neis@chromium.org
      
      Bug: v8:6344, v8:6414
      Change-Id: Ie787d58d1ea172e893788a9c716d3b6868980ab8
      Reviewed-on: https://chromium-review.googlesource.com/508242
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45405}
      afdf27fc
    • Adam Klein's avatar
      Revert "[parser] Refactor streaming scanner streams." · 9397c1b7
      Adam Klein authored
      This reverts commit ce538f70.
      
      Reason for revert: breaks BOM handling (thus breaking Outlook web apps).
      
      Original change's description:
      > [parser] Refactor streaming scanner streams.
      > 
      > Unify, simplify logic, reduce UTF8 specific handling.
      > 
      > Intend of this is also to have stream views.
      > Stream views can be used concurrently by multiple threads, but
      > only one thread may fetch new data from the underlying source.
      > This together with unified stream view creation is intended to be
      > used for parse tasks.
      > 
      > BUG=v8:6093
      > 
      > Change-Id: Ied8e93090c506d4735080298f0fdaeed32043915
      > Reviewed-on: https://chromium-review.googlesource.com/501789
      > Commit-Queue: Wiktor Garbacz <wiktorg@google.com>
      > Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
      > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#45336}
      
      TBR=marja@chromium.org,vogelheim@chromium.org,jochen@chromium.org,wiktorg@google.com
      BUG=v8:6093, chromium:724166
      
      Change-Id: I022a23b8052d20d83a640c07b7864c622548bf90
      Reviewed-on: https://chromium-review.googlesource.com/508888Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45404}
      9397c1b7
    • ulan's avatar
      [heap] Fix verification of unsafe object layout changes. · 6b5e4439
      ulan authored
      This patch adds HeapObject::set_map_after_allocation method that
      initializes the map of the object without object layout checks.
      
      All other map setters now check that transitions unsafe for
      concurrent marking properly notify the GC.
      
      BUG=chromium:694255
      
      Review-Url: https://codereview.chromium.org/2885883004
      Cr-Commit-Position: refs/heads/master@{#45403}
      6b5e4439
    • bjaideep's avatar
      PPC/s390: [turbofan] Avoid allocating rest parameters for spread calls. · f4da4361
      bjaideep authored
      Port bfa319e5
      
      Original Commit Message:
      
          We already had an optimization to turn Function.prototype.apply with
          arguments object, i.e.
      
            function foo() { return bar.apply(this, arguments); }
      
          into a special operator JSCallForwardVarargs, which avoids the
          allocation and deconstruction of the arguments object, but just passes
          along the incoming parameters. We can do the same for rest parameters
          and spread calls/constructs, i.e.
      
            class A extends B {
              constructor(...args) { super(...args); }
            }
      
          or
      
            function foo(...args) { return bar(1, 2, 3, ...args); }
      
          where we basically pass along the parameters (plus maybe additional
          statically known parameters).
      
          For this, we introduce a new JSConstructForwardVarargs operator and
          generalize the CallForwardVarargs builtins that are backing this.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:6407,v8:6278,v8:6344
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2887153004
      Cr-Commit-Position: refs/heads/master@{#45402}
      f4da4361
    • machenbach's avatar
      Revert of [csa] Add assertions to CSA (patchset #11 id:200001 of... · 72edb754
      machenbach authored
      Revert of [csa] Add assertions to CSA (patchset #11 id:200001 of https://codereview.chromium.org/2847923003/ )
      
      Reason for revert:
      Seems to have made nosnap debug very slow and also leads to check failures:
      https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/13248
      
      Original issue's description:
      > [csa] Add assertions to CSA
      >
      > This adds a bunch of assertions to CSA, mostly about documenting and checking
      > parameter types.
      >
      > Drive-by-change: Removed unused function.
      >
      > BUG=v8:6325
      >
      > Review-Url: https://codereview.chromium.org/2847923003
      > Cr-Commit-Position: refs/heads/master@{#45398}
      > Committed: https://chromium.googlesource.com/v8/v8/+/b14a981496ad1f841683479d2f9188dfa2d6b4bd
      
      TBR=cbruni@chromium.org,ishell@chromium.org,jgruber@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:6325
      
      Review-Url: https://codereview.chromium.org/2892023002
      Cr-Commit-Position: refs/heads/master@{#45401}
      72edb754