rust/compiler
Dylan DPC 56b7786914
Rollup merge of #98384 - rdzhaafar:fix-macos-rss-reporting, r=davidtwco,michaelwoerister
Fix RSS reporting on macOS

> NOTE: This is a duplicate of #98164, which I closed because I borked my rustc fork

Currently, `rustc_data_structures::profiling::get_resident_set_size()` always returns `None` on macOS. This is because
macOS does not implement procfs used in the unix version of the function:

```rust
...
else if #[cfg(unix)] {
        pub fn get_resident_set_size() -> Option<usize> {
            let field = 1;
            let contents = fs::read("/proc/self/statm").ok()?;
            let contents = String::from_utf8(contents).ok()?;
            let s = contents.split_whitespace().nth(field)?;
            let npages = s.parse::<usize>().ok()?;
            Some(npages * 4096)
        }
...
```

The proposed solution uses libproc, and more specifically `proc_pidinfo`, which has been available on macOS since 10.5 if the function signature inside libproc.h is to be believed:

```c
int proc_pidinfo(int pid, int flavor, uint64_t arg, void *buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
```
2022-06-28 15:30:03 +05:30
..
rustc Rollup merge of #97385 - oli-obk:smir-tool-lib, r=pnkfelix 2022-06-14 07:47:24 +09:00
rustc_apfloat Fully stabilize NLL 2022-06-03 17:16:41 -04:00
rustc_arena
rustc_ast Rollup merge of #98394 - Enselic:fixup-rustc_main-renames, r=petrochenkov 2022-06-24 16:43:47 +09:00
rustc_ast_lowering Use CreateParameter mode for closures too. 2022-06-21 21:13:43 +02:00
rustc_ast_passes Auto merge of #97842 - notriddle:notriddle/tuple-docs, r=jsha,GuillaumeGomez 2022-06-16 11:13:30 +00:00
rustc_ast_pretty Fix pretty printing of empty type bound lists in where-clause 2022-06-16 17:24:50 -07:00
rustc_attr Remove rustc_deprecated diagnostics 2022-06-14 19:46:13 -04:00
rustc_borrowck fold_region: remove unused parameter 2022-06-27 15:55:03 +02:00
rustc_builtin_macros Rollup merge of #98337 - c410-f3r:assert-compiler, r=oli-obk 2022-06-28 15:30:02 +05:30
rustc_codegen_cranelift Auto merge of #98098 - bjorn3:archive_refactor, r=michaelwoerister 2022-06-21 16:24:56 +00:00
rustc_codegen_gcc Auto merge of #98098 - bjorn3:archive_refactor, r=michaelwoerister 2022-06-21 16:24:56 +00:00
rustc_codegen_llvm Rollup merge of #98385 - m-ou-se:llvm-12-memory-order, r=petrochenkov 2022-06-26 13:14:57 +09:00
rustc_codegen_ssa Rollup merge of #98214 - petrochenkov:islike, r=compiler-errors 2022-06-24 16:43:45 +09:00
rustc_const_eval make AllocKind actually public 2022-06-27 10:58:30 -04:00
rustc_data_structures Rollup merge of #98384 - rdzhaafar:fix-macos-rss-reporting, r=davidtwco,michaelwoerister 2022-06-28 15:30:03 +05:30
rustc_driver Fix rustdoc argument error 2022-06-27 10:43:51 +02:00
rustc_error_codes Add comment for internal error codes 2022-06-12 19:52:49 -03:00
rustc_error_messages errors: remove diagnostic message ctors 2022-06-24 09:08:25 +01:00
rustc_errors remove MAX_SUGGESTION_HIGHLIGHT_LINES 2022-06-20 00:25:51 +04:00
rustc_expand Auto merge of #98187 - mystor:fast_span_call_site, r=eddyb 2022-06-26 21:28:24 +00:00
rustc_feature Move/rename lazy::Sync{OnceCell,Lazy} to sync::{Once,Lazy}Lock 2022-06-16 19:54:42 +04:00
rustc_fs_util
rustc_graphviz Fully stabilize NLL 2022-06-03 17:16:41 -04:00
rustc_hir Auto merge of #98222 - cjgillot:single-wf, r=michaelwoerister 2022-06-28 03:44:33 +00:00
rustc_hir_pretty Use CreateParameter mode for closures too. 2022-06-21 21:13:43 +02:00
rustc_incremental Auto merge of #98153 - nnethercote:fix-MissingDoc-quadratic-behaviour, r=cjgillot 2022-06-18 09:57:00 +00:00
rustc_index Auto merge of #95576 - DrMeepster:box_erasure, r=oli-obk 2022-06-21 11:00:39 +00:00
rustc_infer Rollup merge of #97346 - JohnTitor:remove-back-compat-hacks, r=oli-obk 2022-06-28 15:30:00 +05:30
rustc_interface Rollup merge of #98165 - WaffleLapkin:once_things_renamings, r=m-ou-se 2022-06-19 00:17:13 +02:00
rustc_lexer
rustc_lint Rollup merge of #97389 - m-ou-se:memory-ordering-diagnostics, r=estebank 2022-06-27 08:06:45 +02:00
rustc_lint_defs make const_err show up in future breakage reports 2022-06-25 10:30:47 -04:00
rustc_llvm Add metadata generation for vtables when using VFE 2022-06-14 14:50:52 +02:00
rustc_log clippy::complexity fixes 2022-05-26 13:14:24 +02:00
rustc_macros macros: use typed identifiers in subdiag derive 2022-06-24 09:08:25 +01:00
rustc_metadata Fix panic by checking if CStore has the crate data we want before actually querying it 2022-06-20 23:39:26 +02:00
rustc_middle Auto merge of #98222 - cjgillot:single-wf, r=michaelwoerister 2022-06-28 03:44:33 +00:00
rustc_mir_build Rollup merge of #98429 - b-naber:use-correct-substs-discriminant-cast, r=lcnr 2022-06-25 15:14:13 +02:00
rustc_mir_dataflow Auto merge of #95576 - DrMeepster:box_erasure, r=oli-obk 2022-06-21 11:00:39 +00:00
rustc_mir_transform Auto merge of #95576 - DrMeepster:box_erasure, r=oli-obk 2022-06-21 11:00:39 +00:00
rustc_monomorphize Rollup merge of #98067 - klensy:compiler-deps2, r=Dylan-DPC 2022-06-15 12:02:02 +09:00
rustc_parse Rollup merge of #98428 - davidtwco:translation-derive-typed-identifiers, r=oli-obk 2022-06-26 19:47:04 +02:00
rustc_parse_format
rustc_passes Rollup merge of #98394 - Enselic:fixup-rustc_main-renames, r=petrochenkov 2022-06-24 16:43:47 +09:00
rustc_plugin_impl remove currently unused deps 2022-06-13 22:20:51 +03:00
rustc_privacy Make ExprKind::Closure a struct variant. 2022-06-12 00:16:27 +02:00
rustc_query_impl Auto merge of #98106 - cjgillot:split-definitions, r=michaelwoerister 2022-06-17 10:00:11 +00:00
rustc_query_system Remove likely! and unlikely! macro from compiler 2022-06-18 04:52:11 +01:00
rustc_resolve Rollup merge of #98419 - WaffleLapkin:remove_excess_rib, r=compiler-errors 2022-06-24 16:43:49 +09:00
rustc_save_analysis Make ExprKind::Closure a struct variant. 2022-06-12 00:16:27 +02:00
rustc_serialize Move finish out of the Encoder trait. 2022-06-16 16:20:32 +10:00
rustc_session Auto merge of #97657 - Urgau:check-cfg-many-mut, r=oli-obk 2022-06-21 07:40:32 +00:00
rustc_smir Rustfmt 2022-06-02 10:29:00 +00:00
rustc_span Optimize the code produced by derive(Debug). 2022-06-24 09:40:15 +10:00
rustc_symbol_mangling Rollup merge of #98067 - klensy:compiler-deps2, r=Dylan-DPC 2022-06-15 12:02:02 +09:00
rustc_target rustc_target: Some more tests and fixes for linker arguments 2022-06-25 21:57:08 +03:00
rustc_trait_selection Rollup merge of #97346 - JohnTitor:remove-back-compat-hacks, r=oli-obk 2022-06-28 15:30:00 +05:30
rustc_traits implement valtrees as the type-system representation for constant values 2022-06-14 16:07:11 +02:00
rustc_ty_utils implement valtrees as the type-system representation for constant values 2022-06-14 16:07:11 +02:00
rustc_type_ir Rewrite TyKind::fmt. 2022-06-24 09:40:21 +10:00
rustc_typeck Auto merge of #98222 - cjgillot:single-wf, r=michaelwoerister 2022-06-28 03:44:33 +00:00