1. 21 Aug, 2017 1 commit
    • Ross McIlroy's avatar
      [Parsing] Always pass a valid character-stream into the parser · 1bc01952
      Ross McIlroy authored
      Changes the contract of the parser to have a valid character stream passed
      in the ParseInfo rather than the current situation where either:
       - it is passed explicitly (e.g., for streaming scripts)
       - a Script is passed and a character stream is created for this
       - or a source and encoding is passed in ParseInfo and the character stream
         is created from this.
      
      The parse info also now owns the character stream (in a unique_ptr). It
      can be destroyed using a new ResetCharacterStream() function. This will
      enable the character stream to be kept live if any functions are asm.js
      modules which were parsed, in order to be reused by the asm.js parser.
      
      BUG=v8:5203
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Ifda167391b2eadb38ebf9fcb2f565d2ed9ea3c6f
      Reviewed-on: https://chromium-review.googlesource.com/616767
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47474}
      1bc01952
  2. 14 Aug, 2017 1 commit
  3. 10 Aug, 2017 1 commit
  4. 04 May, 2017 1 commit
  5. 03 May, 2017 1 commit
  6. 02 May, 2017 1 commit
  7. 28 Mar, 2017 1 commit
  8. 24 Mar, 2017 1 commit
  9. 09 Feb, 2017 1 commit
  10. 07 Feb, 2017 5 commits
  11. 24 Jan, 2017 1 commit
  12. 20 Jan, 2017 3 commits
  13. 17 Oct, 2016 1 commit
  14. 13 Oct, 2016 2 commits
  15. 11 Oct, 2016 1 commit
  16. 07 Oct, 2016 1 commit
  17. 15 Sep, 2016 2 commits
    • jochen's avatar
      Only pass the outer scope info with ParseInfo · 65aa596f
      jochen authored
      We don't need the context anymore for parsing, the scope info chain is
      enough.
      
      BUG=v8:5215
      R=marja@chromium.org,jgruber@chromium.org,mstarzinger@chromium.org
      
      Review-Url: https://codereview.chromium.org/2342443004
      Cr-Commit-Position: refs/heads/master@{#39457}
      65aa596f
    • jochen's avatar
      Fully deserialize the scope chain after parsing, not before · 94492437
      jochen authored
      To avoid a dependency on the heap during parsing, we only create a scope chain
      without linking to the associated ScopeInfo objects before parsing. This is
      enough to avoid special cases during parsing of arrow functions / eval.
      
      Looking at the outer scope's variables during parsing was only needed for hosting
      sloppy block functions inside eval. To be able to do this now, we hoist for the
      outer-most eval scope after parsing, in DeclarationScope::Analyze.
      
      DeclarationScope::Analyze is also where we replace the outer scope chain with the
      fully deserialized version, so variables can be resolved.
      
      Also, this unifies background and foreground thread parsing, as we don't have to
      worry about ScopeInfos getting accessed before we're back on the main thread.
      
      BUG=v8:5215
      R=verwaest@chromium.org,marja@chromium.org,adamk@chromium.org
      
      Review-Url: https://codereview.chromium.org/2306413002
      Cr-Commit-Position: refs/heads/master@{#39452}
      94492437
  18. 12 Sep, 2016 1 commit
  19. 02 Sep, 2016 1 commit
  20. 23 Aug, 2016 1 commit
  21. 03 Aug, 2016 1 commit
  22. 29 Jul, 2016 1 commit
  23. 28 Jul, 2016 1 commit
  24. 25 Jul, 2016 1 commit
  25. 01 Apr, 2016 1 commit
  26. 24 Mar, 2016 1 commit
  27. 31 Jul, 2015 1 commit
  28. 22 Jul, 2015 1 commit
  29. 20 Jul, 2015 1 commit
    • yangguo's avatar
      Debugger: prepare code for debugging on a per-function basis. · 35c28ce0
      yangguo authored
      Prior to this patch, we enter a global debug mode whenever a break point
      is set. By entering this mode, all code is deoptimized and activated
      frames are recompiled and redirected to newly compiled debug code.
      
      After this patch, we only deoptimize/redirect for functions we want to
      debug. Trigger for this is Debug::EnsureDebugInfo, and having DebugInfo
      object attached to the SFI prevents optimization/inlining.
      
      The result is that we can have optimized code for functions without break
      points alongside functions that do have break points, which are not
      optimized.
      
      R=mstarzinger@chromium.org, ulan@chromium.org
      BUG=v8:4132
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1233073005
      
      Cr-Commit-Position: refs/heads/master@{#29758}
      35c28ce0
  30. 01 Jun, 2015 1 commit
  31. 09 Mar, 2015 1 commit
  32. 12 Feb, 2015 1 commit
    • marja's avatar
      Parsing: Make Parser not know about Isolate during background parsing. · df0cb999
      marja authored
      Parser must be able to operate independent of Isolate and the V8 heap during
      parsing. After the heap-independent phase, there is a heap dependent phase,
      during which we internalize strings, handle errors, etc.
      
      This makes Isolate (also via CompilationInfo) unaccessible during parsing, and
      thus decreases the probability of accidental code changes which would add
      heap-dependent operations into the heap-independent phase.
      
      Since Isolate is also accessible via CompilationInfo, now CompilationInfo is
      only passed to the entry points of parsing, and not stored in Parser.
      
      R=rossberg@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/908173003
      
      Cr-Commit-Position: refs/heads/master@{#26612}
      df0cb999