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

⚡ Optimize #26

Merged
merged 14 commits into from
Jul 24, 2024
Merged

⚡ Optimize #26

merged 14 commits into from
Jul 24, 2024

Conversation

kammce
Copy link
Member

@kammce kammce commented Jul 17, 2024

No description provided.

kammce added 4 commits July 16, 2024 18:31
- ♻️ Simplify `restore_cpu_core` assembly a bit
- ⚡ Unwind becomes a jump table
- ⚡ Carve out a branch for decoding uleb128 call-site information,
  the most common and encouraged encoding.
- 🐛 Add `lr` and `pc` to clobber list to ensure that the compiler
  does not attempt to use the `lr` register to hold the pointer to the
  virtual_cpu structure
- ⚡ Move index entry definitions to the header
kammce added 10 commits July 18, 2024 14:21
I was trying to make a version of the `enter_function()` function that
has less branches. Trading space for speed.
`enter_function2()` will be a replacement for `enter_function()`. This
function correctly decodes the call sites using their encoding values
and decodes the action table and type table correctly as well. Although
the type table parsing is still assumed to be pcrel. This should be
fixed at some point.
The idea of unwind_frame2 was to evaluate the instructions in place vs
putting them into order in the instruction_t. The problem is word
boundaries which requires logic to determine if we are at the end of the
instructions.
- Remove a few `#if 0` code
- Slightly fix up issues with CI
@kammce
Copy link
Member Author

kammce commented Jul 24, 2024

Merging even though Mac is being silly.

@kammce kammce merged commit 8ec7e2e into main Jul 24, 2024
5 of 6 checks passed
@kammce kammce deleted the optimize branch July 24, 2024 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant