Implementation of non-lowering for dstore
and dstorebytes
instructions in Venom compiler for zkSync support
#4326
Labels
Feature
VIP: Discussion
Used to denote VIPs and more complex issues that are waiting discussion in a meeting
Summary
The current implementation of the Venom compiler needs an update to handle specific instructions used by zkSync for immutables without lowering them to standard EVM instructions. While zkSync is used as an example here, the principle applies to other architectures also.
Specification
The current implementation of the Venom compiler needs an update to handle specific instructions used by zkSync for immutables without lowering them to standard EVM instructions. Here are the details:
Instructions:
dstore
anddstorebytes
Issue: These instructions are currently being lowered to simpler instructions that fit within the EVM framework. However, for zkSync, these instructions should remain intact as they are directly interpreted by zkSync*, not by the standard EVM.
Requirement:
dstore
anddstorebytes
to pass through compilation without being converted into EVM-compatible bytecode.Objective:
dstore
anddstorebytes
instructions during compilation.Acceptance Criteria:
dstore
anddstorebytes
should remain in the bytecode output when compiling for zkSync.Backwards Compatibility
This ticket assumes Venom does not yet support zkSync, ensuring that this implementation will not break current functionality.
References
PR: feat[venom]: remove dloadbytes and sha3_64 venom instructions #4325
Copyright
Copyright and related rights waived via CC0
The text was updated successfully, but these errors were encountered: