Skip to content
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

Feature Request: Ability to inline VM handlers #15

Open
notpidgey opened this issue Mar 23, 2024 · 0 comments
Open

Feature Request: Ability to inline VM handlers #15

notpidgey opened this issue Mar 23, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@notpidgey
Copy link
Owner

Describe the solution you'd like
This solution should work with the current implementation of "call_vm_handler".

Currently call_vm_handler is defined like this:

void base_handler_entry::call_vm_handler(function_container& container, code_label* jump_label)

However, this solution would require an overload that is similar to this:

void base_handler_entry::call_vm_handler(function_container& container, inst_handler_entry* handler, ..., bool inline) {...}
void base_handler_entry::call_vm_handler(function_container& container, vm_handler_entry* handler, ..., bool inline) {...}

In these overloads call_vm_handler should resolve the correct handler_info which corresponds to the arguments of call_vm_handler such as width, operand count, and override(currently not implemented).

If inline is true, call_vm_handler will generate the handler definition inside of the call_vm_handler. There are many problems with this such as the fact that vm handlers call other vm handlers. This would require a major refactor to how handlers are generated and built.

@notpidgey notpidgey added the enhancement New feature or request label Mar 23, 2024
notpidgey added a commit that referenced this issue Mar 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant