1. 13 Sep, 2016 32 commits
  2. 12 Sep, 2016 8 commits
    • mtrofin's avatar
      [wasm] reuse the first compiled module. · b4dc310a
      mtrofin authored
      This change avoids needing to keep around an unused compiled
      module. Instead, the result of compiling the wasm bytes is
      given to the first instance. The module object and that instance object
      point to the same compiled module. Instances are, then, cloned from
      the compiled module the module object points to. When an instance is
      collected, we make sure that the module object still has a clone
      available, and, if the last instance is GC-ed, we also reset the compiled
      module so that it does not reference its heap, so that it (==heap) may
      be collected.
      
      This is achieved by linking the clones in a double-linked list and
      registering a finalizer for each. When we create an instance, we tie it
      in the front of the list, making the module object point to it (O(1)). When
      the finalizer is called, we relink the list over the dying object (O(1)). The
      costliest operation is finalizing the last instance, since we need to visit
      all wasm functions and reset heap references.
      
      BUG=v8:5316
      
      Committed: https://crrev.com/01f5af515728aebe6c5246f4f7dd6c573e8748af
      Review-Url: https://codereview.chromium.org/2305903002
      Cr-Original-Commit-Position: refs/heads/master@{#39153}
      Cr-Commit-Position: refs/heads/master@{#39361}
      b4dc310a
    • mtrofin's avatar
      [wasm] Compilation/Instantiation pipeline works off module object · 8e5ac62d
      mtrofin authored
      Moved the compilation/instantiation pipeline to work off the
      module object (JSObject), making the compiled module data (the
      FixedArray) an implementation detail. This:
      - simplifies the code by removing duplicate decode->compile->instantiate
      sequences
      - sets up the stage for "dressing up" the runtime model with
      stronger typed APIs
      - helps relanding this CL: https://codereview.chromium.org/2305903002/.
        It turns out that GCs during the cloning/instantiation events cause
      trouble, and centering the source of truth on the module object helps
      address this issue.
      
      In the process, clarified cctest setup for wasm-capable isolates,
      and changed signatures for consistency (using ModuleOrigin througout).
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2320723005
      Cr-Commit-Position: refs/heads/master@{#39360}
      8e5ac62d
    • cbruni's avatar
      [elements] Handlify SloppyArguments IndexOfValueImpl · 621f4af7
      cbruni authored
      The raw pointer to the parameter_map might get stale in case of accessors present on
      the arguments object.
      Drive-by-fix: use nullptr instead of the_hole with isolate access.
      
      BUG=chromium:645680
      
      Review-Url: https://codereview.chromium.org/2332503002
      Cr-Commit-Position: refs/heads/master@{#39359}
      621f4af7
    • jarin's avatar
      [turbofan] Another fix for induction variable typing monotonicity. · e031451c
      jarin authored
      BUG=chromium:645851
      
      Review-Url: https://codereview.chromium.org/2332633002
      Cr-Commit-Position: refs/heads/master@{#39358}
      e031451c
    • adamk's avatar
      [turbofan] Switch from a whitelist to a blacklist for NeedsFrameStateInput · 58325e61
      adamk authored
      The whitelist is populated with those inline intrinsics that are lowered
      in JSIntrinsicInlining and were not previously blacklisted. Thus the only
      additional FrameStates this CL adds are those where the caller tries to
      call the INLINE version of an intrinsic but ends up calling the RUNTIME
      version instead.
      
      R=bmeurer@chromium.org
      BUG=chromium:644631
      
      Review-Url: https://codereview.chromium.org/2331543002
      Cr-Commit-Position: refs/heads/master@{#39357}
      58325e61
    • bjaideep's avatar
      AIX: Disable backtrace API call · bc752a09
      bjaideep authored
      Backtrace() and backtrace_symbols() API are not supported on
      AIX and there are no user-mode equivalent API for the same.
      For now, disabling the call to those API.
      Currently this is preventing V8 to build on AIX.
      This debug functionality was added in
      https://codereview.chromium.org/2248393002
      
      R=rmcilroy@chromium.org
      
      BUG=
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2324453002
      Cr-Commit-Position: refs/heads/master@{#39356}
      bc752a09
    • v8-autoroll's avatar
      Update V8 DEPS. · 87c4a7c8
      v8-autoroll authored
      Rolling v8/base/trace_event/common to 26eac53e73b09625e9b8f783b479e54fcae85f58
      
      Rolling v8/build to 9d601d07a9adaa2719d114290e79084d429a7dab
      
      Rolling v8/third_party/WebKit/Source/platform/inspector_protocol to f9c1216417fe8e8f99d861a4d9cf360ae1d8645e
      
      Rolling v8/tools/clang to 4ac706a04b38c05a8012257dc657e069134902c7
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review-Url: https://codereview.chromium.org/2331963002
      Cr-Commit-Position: refs/heads/master@{#39355}
      87c4a7c8
    • ishell's avatar
      [stubs] Port StoreGlobalStub to TurboFan. · 2136adbd
      ishell authored
      BUG=v8:5269
      
      Review-Url: https://codereview.chromium.org/2322373002
      Cr-Commit-Position: refs/heads/master@{#39354}
      2136adbd