1. 16 Sep, 2016 7 commits
    • vogelheim's avatar
      Rework scanner-character-streams. · 642d6d31
      vogelheim authored
      - Smaller, more consistent streams API (Advance, Back, pos, Seek)
      - Remove implementations from the header, in favor of creation functions.
      
      Observe:
      - Performance:
        - All Utf16CharacterStream methods have an inlinable V8_LIKELY w/ a
          body of only a few instructions. I expect most calls to end up there.
        - There used to be performance problems w/ bookmarking, particularly
          with copying too much data on SetBookmark w/ UTF-8 streaming streams.
          All those copies are gone.
        - The old streaming streams implementation used to copy data even for
          2-byte input. It no longer does.
        - The only remaining 'slow' method is the Seek(.) slow case for utf-8
          streaming streams. I don't expect this to be called a lot; and even if,
          I expect it to be offset by the gains in the (vastly more frequent)
          calls to the other methods or the 'fast path'.
        - If it still bothers us, there are several ways to speed it up.
      - API & code cleanliness:
        - I want to remove the 'old' API in a follow-up CL, which should mostly
          delete code, or replace it 1:1.
        - In a 2nd follow-up I want to delete much of the UTF-8 handling in Blink
          for streaming streams.
        - The "bookmark" is now always implemented (and mostly very fast), so we
          should be able to use it for more things.
      - Testing & correctness:
        - The unit tests now cover all stream implementations,
          and are pretty good and triggering all the edge cases.
        - Vastly more DCHECKs of the invariants.
      
      BUG=v8:4947
      
      Review-Url: https://codereview.chromium.org/2314663002
      Cr-Commit-Position: refs/heads/master@{#39464}
      642d6d31
    • mtrofin's avatar
      [wasm] additional serialization test · d4ec15f9
      mtrofin authored
      Ensure we can serialize a wasm compiled module even after it was
      instantiated a few times.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2339933003
      Cr-Commit-Position: refs/heads/master@{#39463}
      d4ec15f9
    • lpy's avatar
      [Tracing] Remove unnecessary memory allocation in runtime call stats. · e1997bb7
      lpy authored
      Previously we didn't implement TRACE_STR_COPY when we write trace events to
      file, which causes us to allocate a growing independent memory chunk for dumped
      runtime call stats table. Since we now have a fully functional TRACE_STR_COPY,
      this memory allocation can be avoided, this patch removes it.
      
      BUG=v8:5089
      
      Review-Url: https://codereview.chromium.org/2342643004
      Cr-Commit-Position: refs/heads/master@{#39462}
      e1997bb7
    • v8-autoroll's avatar
      Update V8 DEPS. · e0c98799
      v8-autoroll authored
      Rolling v8/build to 3f47a5e106127ae4e2567d64c615dc706054c819
      
      Rolling v8/tools/clang to bd7e80b254a93d0a5cd8ecb994e47b1c827e253c
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review-Url: https://codereview.chromium.org/2347783002
      Cr-Commit-Position: refs/heads/master@{#39461}
      e0c98799
    • bakkot's avatar
      Class fields, part 2 (desugaring) · 834aec33
      bakkot authored
      This is one part of a WIP implementation of the stage-2 proposal to add
      fields to classes: https://github.com/tc39/proposal-class-public-fields
      
      See design doc:
      https://docs.google.com/document/d/1WRtNm3ZLNJT1WVr8aq4RJuByYgfuAFAhj20LwTW6JVE/
      
      This adds the desugaring logic to the parser. It isn't usable without
      the (forthcoming) backend changes.
      
      BUG=v8:5367
      
      Review-Url: https://codereview.chromium.org/2316233004
      Cr-Commit-Position: refs/heads/master@{#39460}
      834aec33
    • bakkot's avatar
      Class fields, part 1 (parsing and infrastructure) · fe6b76d4
      bakkot authored
      This is one part of a WIP implementation of the stage-2 proposal to add
      fields to classes: https://github.com/tc39/proposal-class-public-fields
      
      See design doc:
      https://docs.google.com/document/d/1WRtNm3ZLNJT1WVr8aq4RJuByYgfuAFAhj20LwTW6JVE/
      
      This adds support for parsing fields in classes, including
      infrastructure. In particular, it adds:
      * Two booleans on function literal AST nodes
      * Two compiler hints on SharedFunctionInfos representing said bools
      * A new type of ClassLiteralProperty, FIELD
      * Parser support for the syntax
      * Syntax tests
      * A flag to enable it.
      
      Currently the fields are parsed and then droppped. Subsequent
      patches will add semantics, mostly by desugaring in the parser and
      the remainder in the non-crankshaft backends.
      
      BUG=v8:5367
      
      Review-Url: https://codereview.chromium.org/2315733003
      Cr-Commit-Position: refs/heads/master@{#39459}
      fe6b76d4
    • lpy's avatar
      Introduce PREPARE_FOR_EXECUTION_WITH_CONTEXT_IN_RUNTIME_CALL_STATS_SCOPE · 9df94139
      lpy authored
      Previously, macro like PREPARE_FOR_EXECUTION_WITH_CALLBACK will end up calling
      LOG_API, where we create a runtime call timer scope when we enable tracing with
      runtime call stats, however since the flag will be enabled after calling
      TRACE_EVENT_CALL_STATS_SCOPED, this will end up with incorrect timestamp. Thus,
      we introduce a new macro
      PREPARE_FOR_EXECUTION_WITH_CONTEXT_IN_RUNTIME_CALL_STATS_SCOPE, which will call
      TRACE_EVENT_CALL_STATS_SCOPED inside it.
      
      BUG=v8:5089
      
      Review-Url: https://codereview.chromium.org/2344723004
      Cr-Commit-Position: refs/heads/master@{#39458}
      9df94139
  2. 15 Sep, 2016 27 commits
  3. 14 Sep, 2016 6 commits