Skip to content
This repository has been archived by the owner on Jan 22, 2025. It is now read-only.

Refactor: Use dynamic memory layout for TransactionContext::instruction_trace #27587

Conversation

Lichtso
Copy link
Contributor

@Lichtso Lichtso commented Sep 3, 2022

Problem

The ABIv2 design requires all shared (between SBF programs and the runtime) properties to be flattened and accessible form the TransactionContext.

Summary of Changes

Adds DynamicLayoutArray. Collapses two nesting levels: Inlines all Vecs of InstructionContext and the struct itself into TransactionContext::instruction_trace.

@Lichtso Lichtso added the work in progress This isn't quite right yet label Sep 3, 2022
@Lichtso Lichtso force-pushed the refactor/consecutive_memory_for_instruction_trace branch 8 times, most recently from 98ff1c8 to d8983a4 Compare September 6, 2022 11:50
@Lichtso Lichtso force-pushed the refactor/consecutive_memory_for_instruction_trace branch 7 times, most recently from b775f96 to 1bc1ab4 Compare September 22, 2022 18:30
@Lichtso Lichtso force-pushed the refactor/consecutive_memory_for_instruction_trace branch from 1bc1ab4 to d2d0d20 Compare September 26, 2022 15:22
@Lichtso Lichtso force-pushed the refactor/consecutive_memory_for_instruction_trace branch 2 times, most recently from 6985523 to f7b2536 Compare October 20, 2022 16:55
@Lichtso Lichtso force-pushed the refactor/consecutive_memory_for_instruction_trace branch from f7b2536 to 0c60d4b Compare October 20, 2022 17:22
@Lichtso Lichtso force-pushed the refactor/consecutive_memory_for_instruction_trace branch from 0c60d4b to aa17201 Compare October 20, 2022 18:01
@Lichtso
Copy link
Contributor Author

Lichtso commented Oct 25, 2022

@alessandrod and I decided to use BTF in RBPF instead to compile in the memory layout at relocation time instead of looking it up at runtime.

@Lichtso Lichtso closed this Oct 25, 2022
@Lichtso Lichtso deleted the refactor/consecutive_memory_for_instruction_trace branch October 25, 2022 07:56
@Lichtso Lichtso removed the work in progress This isn't quite right yet label Oct 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant