1. 07 12月, 2017 1 次提交
  2. 25 11月, 2017 1 次提交
    • A
      rustbuild: Enable WebAssembly backend by default · 48996f9e
      Alex Crichton 提交于
      This commit alters how we compile LLVM by default enabling the WebAssembly
      backend. This then also adds the wasm32-unknown-unknown target to get compiled
      on the `cross` builder and distributed through rustup. Tests are not yet enabled
      for this target but that should hopefully be coming soon!
      48996f9e
  3. 14 11月, 2017 1 次提交
  4. 13 11月, 2017 2 次提交
  5. 01 11月, 2017 1 次提交
  6. 25 10月, 2017 1 次提交
  7. 24 10月, 2017 2 次提交
  8. 17 10月, 2017 1 次提交
  9. 02 10月, 2017 1 次提交
  10. 24 9月, 2017 4 次提交
  11. 23 9月, 2017 8 次提交
  12. 20 9月, 2017 2 次提交
  13. 18 9月, 2017 5 次提交
    • M
      d5b1fee6
    • A
      rustc: Move codegen to a query · 6d614ddc
      Alex Crichton 提交于
      This commit moves the actual code generation in the compiler behind a query
      keyed by a codegen unit's name. This ended up entailing quite a few internal
      refactorings to enable this, along with a few cut corners:
      
      * The `OutputFilenames` structure is now tracked in the `TyCtxt` as it affects a
        whole bunch of trans and such. This is now behind a query and threaded into
        the construction of the `TyCtxt`.
      
      * The `TyCtxt` now has a channel "out the back" intended to send data to worker
        threads in rustc_trans. This is used as a sort of side effect of the codegen
        query but morally what's happening here is the return value of the query
        (currently unit but morally a path) is only valid once the background threads
        have all finished.
      
      * Dispatching work items to the codegen threads was refactored to only rely on
        data in `TyCtxt`, which mostly just involved refactoring where data was
        stored, moving it from the translation thread to the controller thread's
        `CodegenContext` or the like.
      
      * A new thread locals was introduced in trans to work around the query
        system. This is used in the implementation of `assert_module_sources` which
        looks like an artifact of the old query system and will presumably go away
        once red/green is up and running.
      6d614ddc
    • A
      rustc: Attach an mpsc channel to TyCtxt · 3021c1d0
      Alex Crichton 提交于
      This commit attaches a channel to the LLVM workers to the `TyCtxt` which will
      later be used during the codegen query to actually send work to LLVM workers.
      Otherwise this commit is just plumbing this channel throughout the compiler to
      ensure it reaches the right consumers.
      3021c1d0
    • A
      rustc: Calculate `ExportedSymbols` in a query · dba3ddd8
      Alex Crichton 提交于
      This commit moves the definition of the `ExportedSymbols` structure to the
      `rustc` crate and then creates a query that'll be used to construct the
      `ExportedSymbols` set. This in turn uses the reachablity query exposed in the
      previous commit.
      dba3ddd8
    • A
      rustc: Use reachablility through a query · baca9a62
      Alex Crichton 提交于
      Turns out this was already set up as a query, just wasn't using it yet!
      baca9a62
  14. 15 9月, 2017 1 次提交
    • A
      rustc: Remove `Session::dep_graph` · 1cf956f2
      Alex Crichton 提交于
      This commit removes the `dep_graph` field from the `Session` type according to
      issue #44390. Most of the fallout here was relatively straightforward and the
      `prepare_session_directory` function was rejiggered a bit to reuse the results
      in the later-called `load_dep_graph` function.
      
      Closes #44390
      1cf956f2
  15. 13 9月, 2017 1 次提交
  16. 12 9月, 2017 1 次提交
  17. 05 9月, 2017 3 次提交
    • A
      rustc: Move stability functionality into queries · 9a231961
      Alex Crichton 提交于
      This commit primarily removes the `stability` field from `TyCtxt` as well as its
      internal mutable state, instead using a query to build the stability index as
      well as primarily using queries for other related lookups.
      
      Like previous commits the calculation of the stability index is wrapped in a
      `with_ignore` node to avoid regressing the current tests, and otherwise this
      commit also introduces #44232 but somewhat intentionally so.
      9a231961
    • A
      rustc: Migrate lang items to a query · a2e2aba0
      Alex Crichton 提交于
      This commit moves the calculation of the `LanguageItems` structure into a
      query rather than being calculated before the `TyCtxt` exists, with the eventual
      end goal of removing some `CrateStore` methods.
      a2e2aba0
    • A
      rustc: Remove a number of mutable fields in cstore · 64a70342
      Alex Crichton 提交于
      This commit started by moving methods from `CrateStore` to queries, but it ended
      up necessitating some deeper refactorings to move more items in general to
      queries.
      
      Before this commit the *resolver* would walk over the AST and process foreign
      modules (`extern { .. }` blocks) and collect `#[link]` annotations. It would
      then also process the command line `-l` directives and such. This information
      was then stored as precalculated lists in the `CrateStore` object for iterating
      over later.
      
      After this, commit, however, this pass no longer happens during resolution but
      now instead happens through queries. A query for the linked libraries of a crate
      will crawl the crate for `extern` blocks and then process the linkage
      annotations at that time.
      64a70342
  18. 27 8月, 2017 1 次提交
  19. 24 8月, 2017 1 次提交
  20. 23 8月, 2017 1 次提交
  21. 21 8月, 2017 1 次提交