]> git.lizzy.rs Git - rust.git/commitdiff
allow wasm32 compilation of librustc_data_structures/profiling.rs
authorCameron Taggart <cameron.taggart@gmail.com>
Tue, 21 Apr 2020 00:09:11 +0000 (18:09 -0600)
committerCameron Taggart <cameron.taggart@gmail.com>
Tue, 21 Apr 2020 00:09:11 +0000 (18:09 -0600)
src/librustc_data_structures/profiling.rs

index 23f3558cbdfa33ba38a32abc1b976ce96a490e68..7377b7a6c8bb85fe367f63972ecf8319948d2b1c 100644 (file)
 
 /// MmapSerializatioSink is faster on macOS and Linux
 /// but FileSerializationSink is faster on Windows
-#[cfg(not(windows))]
+#[cfg(all(not(windows),not(target_arch="wasm32")))]
 type SerializationSink = measureme::MmapSerializationSink;
-#[cfg(windows)]
+#[cfg(all(windows,not(target_arch="wasm32")))]
 type SerializationSink = measureme::FileSerializationSink;
+#[cfg(target_arch="wasm32")]
+type SerializationSink = measureme::ByteVecSink;
 
 type Profiler = measureme::Profiler<SerializationSink>;
 
@@ -602,7 +604,7 @@ pub fn duration_to_secs_str(dur: std::time::Duration) -> String {
 }
 
 // Memory reporting
-#[cfg(unix)]
+#[cfg(all(unix,not(target_arch="wasm32")))]
 fn get_resident() -> Option<usize> {
     let field = 1;
     let contents = fs::read("/proc/self/statm").ok()?;
@@ -612,7 +614,7 @@ fn get_resident() -> Option<usize> {
     Some(npages * 4096)
 }
 
-#[cfg(windows)]
+#[cfg(all(windows,not(target_arch="wasm32")))]
 fn get_resident() -> Option<usize> {
     use std::mem::{self, MaybeUninit};
     use winapi::shared::minwindef::DWORD;
@@ -630,3 +632,8 @@ fn get_resident() -> Option<usize> {
         }
     }
 }
+
+#[cfg(target_arch="wasm32")]
+fn get_resident() -> Option<usize> {
+    None
+}