diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-08-07 00:34:13 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-07 00:34:13 +0200 |
| commit | 52c365b73155b2e0fb47557bce610d78d8eff303 (patch) | |
| tree | aedc8e5691f4978dc8c6071858ee439e7e9d63df /compiler/rustc_codegen_llvm/src/llvm_util.rs | |
| parent | f00a55188fa72694b52229c0ba3025e72f9bc24a (diff) | |
| parent | 1c2705c6229c16d68c8769e570b5500a123aebfb (diff) | |
| download | rust-52c365b73155b2e0fb47557bce610d78d8eff303.tar.gz rust-52c365b73155b2e0fb47557bce610d78d8eff303.zip | |
Rollup merge of #128687 - RalfJung:interpret-call-refactor, r=WaffleLapkin
interpret: refactor function call handling to be better-abstracted Add a new function `init_stack_frame` that pushes a stack frame and passes the arguments, and use that basically everywhere that the raw underlying `push_stack_frame` used to be called. This splits the previous monster function `eval_fn_call` into two parts: figuring out the MIR to call and the arguments to pass, and then actually setting up the stack frame. Also re-organize the files a bit: - The previous `terminator.rs` is split into a new `call.rs` with all the argument-passing logic, and the rest goes into `step.rs` where the other main dispatcher functions already live (in particular, `eval_statement`). - All the stack frame handling from `eval_context.rs` is moved to a new `stack.rs`.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm_util.rs')
0 files changed, 0 insertions, 0 deletions
