1. 10 Jul, 2020 1 commit
  2. 23 Apr, 2020 1 commit
    • Leszek Swirski's avatar
      [compile] Add an UnoptimizedCompileState class · 6458a529
      Leszek Swirski authored
      Move the persistent compilation state and Isolate inputs (such as the
      allocator, shared AST constants, hash seed, logger, etc.) which survives
      across both parse and compile, out of ParseInfo and into a new
      UnoptimizedCompileState class. Also add UnoptimizedCompilePerThreadState
      for per-thread state such as stack limit and RCS.
      
      In particular, this new state survives the ParseInfo being destructed,
      which means it is available after off-thread finalization. This allows a
      followup to access the PendingCompilationErrorHandler after finalization
      and report errors on merge.
      
      Bug: v8:10314
      Change-Id: Ia186bc0f267c704efd771aa1895f50a4525a8364
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105636
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67329}
      6458a529
  3. 10 Sep, 2019 1 commit
  4. 23 Aug, 2019 1 commit
  5. 30 Jul, 2019 1 commit
  6. 21 Jun, 2019 1 commit
    • Ross McIlroy's avatar
      [SFI] Always store function_literal_id in SFI. · f92d7196
      Ross McIlroy authored
      Calling FindIndexInScript performs a linear search on the script functions and can
      take considerable time. With Bytecode flushing we will lose the function_literal_id
      and have to call FindIndexInScript if we ever recompile the flushed function. This
      can take a significant proportion of the recompilation time and has caused regressions
      in rendering times for some web applications (e.g, 395ms in FindIndexInScript for 132ms
      spent lazily re-compiling code).
      
      To avoid this, add function_literal_id back into the SFI and remove it from
      UnoptimizedCompileInfo. This will slightly regress memory usage (particularly
      in cases where many of the SFIs are compiled), however it means we can remove
      the FindIndexInScript function and avoid these long-tail regressions when
      bytecode is flushed.
      
      BUG=chromium:965833
      
      Change-Id: Ia31e82eb6c871a6d698a518326a8555822a7a1d8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669700Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62319}
      f92d7196
  7. 04 Jun, 2019 1 commit
    • Leszek Swirski's avatar
      [tracing] Speed up SharedFunctionInfo::TraceID · 43cd5d10
      Leszek Swirski authored
      Avoid the linear lookup of function literal id when getting the shared
      function info TraceID, by optionally passing through a FunctionLiteral.
      Additionally, use the FunctionLiteralId helper when a FunctionLiteral is
      not available, since it can also fast-path in some cases.
      
      As a drive-by, allow using a ScriptIterator without an Isolate pointer
      (e.g. manually creating a handle) to allow calling FunctionLiteralId
      without an Isolate pointer.
      
      Bug: v8:9325
      Change-Id: Ibfa053f300d6d5005485c67174a848264a5d1372
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1643429
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61983}
      43cd5d10
  8. 27 May, 2019 1 commit