Conversation
| } | ||
| } | ||
|
|
||
| pub(crate) fn decopy(&self, m: &Module) -> Self { |
There was a problem hiding this comment.
Needs a docstring. I think "If self is Operand::Var and references a Copy, recursively search until a non-Copy instruction is found." or similar will do.
|
|
||
| let func = self.aot_mod.func(*callee); | ||
| if inst.is_mappable_call(self.aot_mod) | ||
| let mappable = !func.is_declaration(); |
There was a problem hiding this comment.
This variable feels a bit weird and isn't used anywhere except the next line? Maybe just inline it into the if so it's if !func.is_declaration()?
|
Two minor comments which can be force pushed. |
|
Force pushed fixes. Also bumped the yklua CI version and formatted. Don't forget to merge ykjit/yklua#125 first. |
|
Force pushed again with a fixed yklua. |
|
resynced ykllvm, which ought to fix this. requires: ykjit/ykllvm#260 |
|
|
Force pushed test fixes. Note that ykjit/ykllvm#261 is required first. |
|
@ptersilie I think this is ready to go now Laurie's change finished benchmarking. |
|
Once ykjit/ykllvm#262 is in, I sincerely hope that this will merge once and for all! It will need squashing -- ok for me to do that? |
|
@ptersilie perhaps you can approve squashing in Laurie's absence. There's only a merge commit and a ykllvm resync since the last review. |
|
Please squash. |
These show up when you start to use C function pointers. There were two options: - introduce a `jit_ir::Const::Func` - convert AOT function operands to constant pointers. This is the latter.
|
squashed and ready to merge. |
Inline some indirect calls.
In turn this allows us, in some scenarios, to inline indirect calls into the trace.
|
Force pushed swt fixes. |
Requires ykjit/ykllvm#258 and ykjit/yklua#125