• Simon Zünd's avatar
    [torque] Refactor compiler interface to not 'leak' contextuals · 724d6586
    Simon Zünd authored
    The Torque compiler makes heavy use of scoped globals (contextuals).
    This created a problem for the design of the compiler interface:
    
        - Either the compiler provides all the necessary scopes itself,
          disallowing callers any access to the contextuals, which might
          contain data the caller is interested in (such as the
          compilation result).
        - Or the caller provides all the necessary scopes.
    
    This design was fine when the compiler executable was the only user.
    With the recent addition of unit tests and the language server, this
    interface became brittle, as missing scopes are only detected at
    runtime.
    
    This CL refactors the compiler interface to not leak contextual
    scopes past the interface boundary. Content of contextuals is
    collected and returned, providing access for the caller and freedom
    to either use the data directly or move it into the callers own scopes.
    
    R=sigurds@chromium.org
    
    Bug: v8:7793
    Change-Id: Ieb988522d08fc6026b3fb74d976008e566146770
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1529000
    Commit-Queue: Simon Zünd <szuend@chromium.org>
    Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60867}
    724d6586
torque-compiler.cc 4.42 KB