1. 12 7月, 2017 1 次提交
  2. 10 7月, 2017 1 次提交
  3. 06 7月, 2017 1 次提交
    • A
      rustc: Implement the #[global_allocator] attribute · 695dee06
      Alex Crichton 提交于
      This PR is an implementation of [RFC 1974] which specifies a new method of
      defining a global allocator for a program. This obsoletes the old
      `#![allocator]` attribute and also removes support for it.
      
      [RFC 1974]: https://github.com/rust-lang/rfcs/pull/197
      
      The new `#[global_allocator]` attribute solves many issues encountered with the
      `#![allocator]` attribute such as composition and restrictions on the crate
      graph itself. The compiler now has much more control over the ABI of the
      allocator and how it's implemented, allowing much more freedom in terms of how
      this feature is implemented.
      
      cc #27389
      695dee06
  4. 05 7月, 2017 1 次提交
    • A
      Switch to rust-lang-nursery/compiler-builtins · 7e6c9f36
      Alex Crichton 提交于
      This commit migrates the in-tree `libcompiler_builtins` to the upstream version
      at https://github.com/rust-lang-nursery/compiler-builtins. The upstream version
      has a number of intrinsics written in Rust and serves as an in-progress rewrite
      of compiler-rt into Rust. Additionally it also contains all the existing
      intrinsics defined in `libcompiler_builtins` for 128-bit integers.
      
      It's been the intention since the beginning to make this transition but
      previously it just lacked the manpower to get done. As this PR likely shows it
      wasn't a trivial integration! Some highlight changes are:
      
      * The PR rust-lang-nursery/compiler-builtins#166 contains a number of fixes
        across platforms and also some refactorings to make the intrinsics easier to
        read. The additional testing added there also fixed a number of integration
        issues when pulling the repository into this tree.
      
      * LTO with the compiler-builtins crate was fixed to link in the entire crate
        after the LTO process as these intrinsics are excluded from LTO.
      
      * Treatment of hidden symbols was updated as previously the
        `#![compiler_builtins]` crate would mark all symbol *imports* as hidden
        whereas it was only intended to mark *exports* as hidden.
      7e6c9f36
  5. 03 7月, 2017 2 次提交
  6. 02 7月, 2017 1 次提交
  7. 01 7月, 2017 1 次提交
  8. 28 6月, 2017 1 次提交
  9. 27 6月, 2017 1 次提交
  10. 26 6月, 2017 1 次提交
  11. 21 6月, 2017 2 次提交
    • A
      Integrate jobserver support to parallel codegen · 201f0698
      Alex Crichton 提交于
      This commit integrates the `jobserver` crate into the compiler. The crate was
      previously integrated in to Cargo as part of rust-lang/cargo#4110. The purpose
      here is to two-fold:
      
      * Primarily the compiler can cooperate with Cargo on parallelism. When you run
        `cargo build -j4` then this'll make sure that the entire build process between
        Cargo/rustc won't use more than 4 cores, whereas today you'd get 4 rustc
        instances which may all try to spawn lots of threads.
      
      * Secondarily rustc/Cargo can now integrate with a foreign GNU `make` jobserver.
        This means that if you call cargo/rustc from `make` or another
        jobserver-compatible implementation it'll use foreign parallelism settings
        instead of creating new ones locally.
      
      As the number of parallel codegen instances in the compiler continues to grow
      over time with the advent of incremental compilation it's expected that this'll
      become more of a problem, so this is intended to nip concurrent concerns in the
      bud by having all the tools to cooperate!
      
      Note that while rustc has support for itself creating a jobserver it's far more
      likely that rustc will always use the jobserver configured by Cargo. Cargo today
      will now set a jobserver unconditionally for rustc to use.
      201f0698
    • A
      Switch to the crates.io `getopts` crate · 5c3d0e6d
      Alex Crichton 提交于
      This commit deletes the in-tree `getopts` crate in favor of the crates.io-based
      `getopts` crate. The main difference here is with a new builder-style API, but
      otherwise everything else remains relatively standard.
      5c3d0e6d
  12. 20 6月, 2017 3 次提交
  13. 18 6月, 2017 2 次提交
  14. 14 6月, 2017 2 次提交
  15. 12 6月, 2017 2 次提交
  16. 10 6月, 2017 1 次提交
  17. 08 6月, 2017 1 次提交
  18. 07 6月, 2017 1 次提交
  19. 02 6月, 2017 1 次提交
  20. 01 6月, 2017 1 次提交
    • J
      Update rust-installer for Windows executable mode · 0fba1f75
      Josh Stone 提交于
      It now marks a few whitelisted extensions as executable in the tarball,
      so Windows packages can be extracted on other platforms and directly
      execute install.sh.
      
      It also includes a fix for the chmod on bulk dirs, so now the html docs
      won't be marked executable en masse.
      
      Fixes #42121
      r? @alexcrichton
      0fba1f75
  21. 29 5月, 2017 1 次提交
  22. 25 5月, 2017 1 次提交
  23. 17 5月, 2017 1 次提交
    • T
      Unify all stage2 tools into a workspace · 0e79b979
      Tatsuyuki Ishi 提交于
      This avoids double compiled Cargo. Hopefully this would speed up (extended) compilation for ~10m.
      
      Notes: when updating Cargo submodule, the replacement version may also need to be updated.
      0e79b979
  24. 16 5月, 2017 1 次提交
  25. 15 5月, 2017 4 次提交
  26. 13 5月, 2017 1 次提交
  27. 09 5月, 2017 1 次提交
  28. 07 5月, 2017 1 次提交
  29. 04 5月, 2017 2 次提交