-
Notifications
You must be signed in to change notification settings - Fork 8
Inline some indirect calls. #1765
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| } | ||
| } | ||
|
|
||
| pub(crate) fn decopy(&self, m: &Module) -> Self { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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