1. 14 Sep, 2017 4 commits
    • Mythri's avatar
      [TurboFan] Remove absolute limit from inlining heuristics. · d7894b2d
      Mythri authored
      We have an absolute limit beyond which we don't inline small funcions as
      well. The idea behind inlining small functions is that it is cheaper to
      inline small functions rather than incurring the overhead due to the call.
      Hence it is better not to have a hard limit on inlining small functions.
      We have a limit on the number of levels of nesting to avoid really large
      graphs in some corner cases.
      
      Bug: v8:6682
      Change-Id: If74f666996fe4a42bf266a4e87caabfd7c614b12
      Reviewed-on: https://chromium-review.googlesource.com/648975
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48007}
      d7894b2d
    • Albert Mingkun Yang's avatar
      [heap] Turn on v8_enable_csa_write_barrier · dbfdd4f9
      Albert Mingkun Yang authored
      With this commit, write barrier is switched to use CodeStubAssembler.
      
      Bug: chromium:749486
      Change-Id: I7e0914bee971e4f3a3257740ae7c83b31f791bd9
      Reviewed-on: https://chromium-review.googlesource.com/598088Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Albert Mingkun Yang <albertnetymk@google.com>
      Cr-Commit-Position: refs/heads/master@{#48006}
      dbfdd4f9
    • Ulan Degenbaev's avatar
      [heap] Fix black allocation. · 97b2a814
      Ulan Degenbaev authored
      This patch ensures that an object returned by AllocateRaw is marked
      black if black allocation starts during the object allocation.
      
      This fixes the following issue:
      1) Generated code requests allocation of size N for folded allocation.
      2) Runtime gets a free list node at address A of size N+M and sets up
         a linear allocation area with top = A+N and limit = A+N+M.
      3) Runtime invokes the allocation observer that starts incremental marking
         and start black allocation. The area [A+N, A+N+M) is marked black.
      4) Runtime returns a white object at address A as the allocation result.
      5) Generated code moves the top pointer to A and does bump pointer
         allocations of white objects from A to A+N+M.
      6) Object allocated new A+N can have the impossible marbit pattern.
      
      Bug: chromium:694255
      Change-Id: I09ceebc97a510fa5fe4ff20706bc46a99f8b7cf4
      Reviewed-on: https://chromium-review.googlesource.com/638338
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48005}
      97b2a814
    • Albert Mingkun Yang's avatar
      Extract calling RecordWrite CSA logic to a function · 6aafc43e
      Albert Mingkun Yang authored
      There are two places where RecordWrite code stub is called,
      OutOfLineRecordWrite and RecordWriteField. With this commit, if
      `v8_enable_csa_write_barrier` flag is turned on, no instances of the old
      RecordWrite stub appear in the snapshot.
      
      Bug: chromium:749486
      Change-Id: I2bc3fa38c8831736303b46d153a79c034a450f16
      Reviewed-on: https://chromium-review.googlesource.com/648983
      Commit-Queue: Albert Mingkun Yang <albertnetymk@google.com>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48004}
      6aafc43e
  2. 13 Sep, 2017 20 commits
  3. 12 Sep, 2017 16 commits