1. 16 Oct, 2017 1 commit
    • Marja Hölttä's avatar
      [parser] Skipping inner funcs: fix related to aborting preparsing. · d69159d5
      Marja Hölttä authored
      When skipping inner funcs is enabled, we also track variables for top level
      funcs. Thus, we also declared the function name for the function scope, even
      though it was the function scope for a function whose preparsing was
      aborted. This lead into declaring the function name twice.
      
      The fix is to declare the function name only in the success case.
      
      The code was "wrong" before too, but this was never a problem, since variable
      tracking and aborting preparsing were enabled for disjoint sets of
      functions (aborting preparsing only for top-level, and variable tracking for
      non-top-level).
      
      BUG=v8:5516,chromium:774475
      
      Change-Id: Ie6c321cc834cd946e8843f73916fa7dd75e9cd09
      Reviewed-on: https://chromium-review.googlesource.com/720920Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48592}
      d69159d5
  2. 03 Oct, 2016 1 commit
    • verwaest's avatar
      Mark param as used when we force context allocation due to implement access through arguments · 9feab2d2
      verwaest authored
      Currently the parameter is first parsed as a reference, and then translated into a parameter. The reference stays around though, and gets resolved to the parameter. That automatically creates a use. Now that I drop all unresolved references when we abort preparsing, that also drops the unresolved reference.
      
      Instead, mark the variable as used when its marked as forced context allocation. That's what happens in almost all other cases.
      
      This raises the question: does it really make sense to parse parameters this ways? It seems pretty generic, but neither fast nor memory-efficient ... Did I misunderstand something?
      
      Just land if you think the CL looks good as is.
      
      BUG=chromium:651613
      
      Review-Url: https://codereview.chromium.org/2386623002
      Cr-Commit-Position: refs/heads/master@{#39935}
      9feab2d2
  3. 27 Sep, 2016 1 commit