Ralf Jung
1eb51e717e
fix unqualified_local_imports in rustc_const_eval
2024-09-23 11:57:32 +02:00
Michael Goulet
c682aa162b
Reformat using the new identifier sorting from rustfmt
2024-09-22 19:11:29 -04:00
Ralf Jung
8cd982caa1
interpret: reset padding during validation
2024-09-08 16:53:23 +02:00
Ralf Jung
fa60ea7d38
interpret: remove Readable trait, we can use Projectable instead
2024-09-08 16:53:22 +02:00
Ralf Jung
522af10ccc
interpret: refactor function call handling to be better-abstracted
2024-08-06 11:08:12 +02:00
Nicholas Nethercote
84ac80f192
Reformat use declarations.
...
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
2024-07-29 08:26:52 +10:00
Maybe Waffle
236352024b
make StackPop field names less confusing
2024-07-07 18:16:38 +02:00
Ralf Jung
dba1849c22
interpret: hide some reexports in rustdoc
2024-05-02 18:47:36 +02:00
Oli Scherer
77fe9f0a72
Validate before reporting interning errors.
...
validation produces much higher quality errors and already handles most of the cases
2024-04-17 09:50:44 +00:00
Oli Scherer
93888cd0a4
Move only usage of take_static_root_alloc to its definition and inline it
2024-03-14 11:40:30 +00:00
Oli Scherer
d3514a036d
Ensure nested allocations in statics do not get deduplicated
2024-03-12 05:53:46 +00:00
Oli Scherer
73b38c661d
Do not allocate a second "background" alloc id for the main allocation of a static.
...
Instead we re-use the static's alloc id within the interpreter for its initializer to refer to the `Allocation` that only exists within the interpreter.
2024-02-15 10:25:18 +00:00
Ralf Jung
9c0623fe8f
validation: descend from consts into statics
2024-02-10 16:13:47 +01:00
Camille GILLOT
ebc87bf567
Directly intern values instead of copying them.
2023-10-25 06:46:48 +00:00
Ralf Jung
ea9a24e32e
avoid re-checking the offset while iterating an array/slice
2023-10-15 18:12:46 +02:00
Ralf Jung
fa5f13775a
interpret: make MemPlace, Place, Operand types private to the interpreter
2023-09-04 17:53:38 +02:00
Ralf Jung
77ff1b83cd
interpret: make read functions generic over operand type
2023-07-25 22:33:59 +02:00
Ralf Jung
00fb45dccd
interpret: make write functions generic over the place type
2023-07-25 22:33:58 +02:00
Ralf Jung
a2bcafa500
interpret: refactor projection code to work on a common trait, and use that for visitors
2023-07-25 14:30:58 +02:00
Ralf Jung
dd453a6a99
miri: protect Move() function arguments during the call
2023-07-11 21:59:01 +02:00
Gary Guo
5e6ed132fa
Add UnwindAction::Unreachable
...
This also makes eval machine's `StackPopUnwind`
redundant so that is replaced.
2023-04-06 09:34:16 +01:00
Ralf Jung
e1926b2110
interpret: move discriminant reading and writing to separate file
2023-02-06 17:10:26 +01:00
Ralf Jung
ab225ade1e
interpret: refactor projection handling code
...
Moves our projection handling code into a common file, and avoids the use of a
general mplace-based fallback function by have more specialized implementations.
mplace_index (and the other slice-related functions) could be more efficient by
copy-pasting the body of operand_index. Or we could do some trait magic to share
the code between them. But for now this is probably fine.
2022-07-11 22:50:46 -04:00
Ralf Jung
8e73c3ed18
make AllocKind actually public
2022-06-27 10:58:30 -04:00
Ralf Jung
b094116538
interpret: refactor allocation info query
...
We now have an infallible function that also tells us which kind of allocation we are talking about.
Also we do longer have to distinguish between data and function allocations for liveness.
2022-06-26 22:49:40 -04:00
Jacob Pratt
49c82f31a8
Remove crate visibility usage in compiler
2022-05-20 20:04:54 -04:00
b-naber
bc698c73e9
deduplicate a lot of code
2022-04-21 23:11:06 +02:00
b-naber
1157dc7167
implement valtree -> constvalue conversion
2022-04-21 15:53:26 +02:00
Camille GILLOT
c5fc2609f0
Rename rustc_mir to rustc_const_eval.
2021-09-07 20:46:26 +02:00