• Marja Hölttä's avatar
    [parser] Skipping inner funcs: store and use the inner function data. · 1191e6f6
    Marja Hölttä authored
    The data needed to be modified a bit to actually allow skipping over functions
    based on it. In particular, we need to allow skipping over an unknown inner
    scope structure (in the previous stage, we just had tests comparing the data
    against some baseline truth, so it wasn't needed).
    
    also removing the current "skip functions based on preparse data" logic,
    since preparser data is not used any more. At a later stage, I'll consider
    plugging the preparser-scope-analysis-data into that pipeline (so I don't want
    to remove the full code yet).
    
    Integration to the various forms of compilation is still incomplete; this CL
    integrates just enough to get the minimal example to pass:
    
    (function foo() {
      function preparsed() {
        var var1 = 10;
        function skip_me() {
          print(var1);
        }
        return skip_me;
      }
      return preparsed;
    })()()();
    
    BUG=v8:5516
    
    Change-Id: I0d24b4c3b338f7e6b6c3bf7cf2c1ceb29608e2f2
    Reviewed-on: https://chromium-review.googlesource.com/446336
    Commit-Queue: Marja Hölttä <marja@chromium.org>
    Reviewed-by: 's avatarDaniel Vogelheim <vogelheim@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#43908}
    1191e6f6
objects-inl.h 254 KB