Remove index_in_caller and index_in_callee from InstructionAccount#6902
Remove index_in_caller and index_in_callee from InstructionAccount#6902LucasSte wants to merge 9 commits intoanza-xyz:masterfrom
index_in_caller and index_in_callee from InstructionAccount#6902Conversation
|
The Firedancer team maintains a line-for-line reimplementation of the |
f098308 to
bcb8a30
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #6902 +/- ##
========================================
Coverage 83.2% 83.2%
========================================
Files 853 853
Lines 375383 375444 +61
========================================
+ Hits 312489 312592 +103
+ Misses 62894 62852 -42 🚀 New features to boost your workflow:
|
|
To be honest, it is somewhat over-engineered. There gotta be an easier solution. As you said, one of the fields is never needed again, we could eliminate it. I would rather have more code churn if the result is that we have less distinct structures to maintain afterwards. |
|
Superseded by #7220. |
Problem
In SIMD-0177, we propose sharing the
struct InstructionAccountwith programs. That struct contains the fieldsindex_in_callerandindex_in_callee, which are only used in runtime, not necessary for programs, and are only relevant to ABIv1.Summary of Changes
struct InstructionAccountCallIndexesto hold those two fields.struct InstructionAccount.struct InstructionAccountView, which is a a copy of the oldInstructionAccountwith all the fields, aiming to facilitate field accesses before program execution.struct InstructionAccountViewVectorthat exposesInstructionAccountViews, but manages internallyInstructionAccountandInstructionAccountCallIndexes.