-
Notifications
You must be signed in to change notification settings - Fork 331
Open
Description
The abstract goal is to de-duplicate the logic of call instructions. Currently, almost all calls (except CALL and CALLCODE) are implemented independently - it was done to get good code coverage in unit tests.
This can be achieved in two ways:
- By using a template by
evmc_call_kind. This might be faster (less checks in runtime, code for legacy opcodes like CALLCODE stay cold) but result in larger code size (bad for wasm?). - By having single runtime procedure for all calls. See Drop the call kind runtime argument #159 (comment).
There can be also a variant that selects 1 or 2 at build time - by using [[gcc::always_inline]] in variant 2.
Metadata
Metadata
Assignees
Labels
No labels