Gary Guo

Results 147 comments of Gary Guo

This workaround works for me: add ```toml [unstable] build-std = ["core", "alloc"] build-std-features = ["compiler-builtins-mangled-names"] ``` to `.cargo/config` and use ```toml [dependencies] compiler_builtins_local = { path = "../../compiler-builtins", package =...

I tried to write it myself without looking at any existing code. I ended up producing this: ```rust pub extern "C" fn __mulsi3(mut a: u32, mut b: u32) -> u32...

At https://mail.mozilla.org/pipermail/es-discuss/2016-February/045494.html I wrote: - isTail will be set when the frame indicates a frame created by tail call instead of normal function call. Caller's frame is already removed so...

Problem 1 seems to be a non-issue. DPI is meant to be ABI compatible, so a shipping a copy with FuseSoC would just be fine.

> To be clear, it's debatable if this is a regression (if it is, it's just a performance issue), since we make no guarantee about the ABI of `extern "Rust"`....

Okay, I located the reason. `Abi::ScalarPair` is only produced if all variant' data part are scalar and have the same `abi::Primitive`. `NonZeroUsize` and `NonZeroU64` are all `Primitive::Int(Integer::I64, false)` which matches...

Thanks for the pointer. That PR looks like a better approach to me. I think the compile-time perf regression in that PR results from excessive `homogeneous_aggregate` calls when the type...

It's the rustc that makes return value indirect, instead of LLVM.

I think the test should really be a couple of codegen test (instead of testing using run-make-fulldeps) to ensure that we emit the same function signature as Clang does for...

Given that this is a public-facing change, a FCP is probably more appropriate?