julia
6e3c4ca3 - Compiler: add Task call, invoke, and fetch optimizations and operations

Commit
98 days ago
Compiler: add Task call, invoke, and fetch optimizations and operations This commit implements a Task optimizations by adding a `invoked` field to the Task definition, which optionally causes it to do an `invoke` call internally instead of a regular `call`. Key changes: - Add `invoked` field to Task structure, supporting Type, Method, MethodInstance, and CodeInstance, just like invoke - Implement `_task` builtin function to construct Task - Create PartialTask lattice element for precise task result and error type tracking - Unify several CallInfo types into IndirectCallInfo - Optimized calls to `_task` constructor to inject CodeInstance. Calling `fully_covers` isn't necessary, as the runtime will check that. In the future we can make this field user-inaccessible (like scope) and then be able to optimize based on the type returned from `fetch`. Also added documentation to base/docs/basedocs.jl on how to easily add more Builtin functions, following this as an example. 🤖 Generated with help from [Claude Code](https://claude.ai/code)
Author
Committer
Parents
Loading