Skip to content

feat: runtime representation of instructions#84

Merged
malcolmstill merged 36 commits intomasterfrom
malcolm/optimisation-1-preprocess
Feb 27, 2021
Merged

feat: runtime representation of instructions#84
malcolmstill merged 36 commits intomasterfrom
malcolm/optimisation-1-preprocess

Conversation

@malcolmstill
Copy link
Owner

@malcolmstill malcolmstill commented Feb 26, 2021

Purpose

Speed up execution by moving a bunch of work that is repeatedly performed during execution to the module loading stage

Description

  • Rather than just constantly reprocess the binary representation, provide a structure (a union) that we can parse the binary representation into once at module load.

Results

  • As example, with ReleaseSafe execution time for fib(39) is reduced from around 80 s to around 30 s (putting us roughly on par with python)

- Rather than just constantly reprocess the binary representation, provide
  a structure (actually a union) that we can parse the binary representation
  into once at module load. This will boost performance
…le_indices

- br_table is the one instruction of variable length
- I had left in a few instructions breaking the code
- That code parameter was used to calculate the continuations which
  is now down at decode time
- next returns RuntimeInstruction instead of ParseMeta
- we need this for generating a particular testsuite error (wrong
  number of br_table entries given, which actually ends up consuming
  some end 0x0b...it's not easy to differentiate this so let's just
  always check we can find the end of a function)
@malcolmstill malcolmstill merged commit 261ff81 into master Feb 27, 2021
@malcolmstill malcolmstill deleted the malcolm/optimisation-1-preprocess branch February 27, 2021 21:06
@malcolmstill malcolmstill mentioned this pull request Nov 14, 2021
8 tasks
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