mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-11-06 10:51:10 +00:00
Separate compilation and linker phases (#376)
Separate between compilation and linker phases to allow deploy time linking and back-porting era compiler changes to fix #91. Unlinked contract binaries (caused by missing libraries or missing factory dependencies in turn) are emitted as raw ELF object. Few drive by fixes: - #98 - A compiler panic on missing libraries definitions. - Fixes some incosistent type forwarding in JSON output (empty string vs. null object). - Remove the unused fallback for size optimization setting. - Remove the broken `--lvm-ir` mode. - CI workflow fixes. --------- Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com> Signed-off-by: xermicus <bigcyrill@hotmail.com> Signed-off-by: xermicus <cyrill@parity.io>
This commit is contained in:
1 parent
13faedf08a
commit
94ec34c4d5
169 files changed
+6288
-5206
No files matched your search
@@ -1,5 +1,7 @@
|
||||
//! Solidity to PolkaVM compiler constants.
|
||||
|
||||
use revive_common::BYTE_LENGTH_WORD;
|
||||
|
||||
/// The default executable name.
|
||||
pub static DEFAULT_EXECUTABLE_NAME: &str = "resolc";
|
||||
|
||||
@@ -7,10 +9,10 @@ pub static DEFAULT_EXECUTABLE_NAME: &str = "resolc";
|
||||
pub const OFFSET_SCRATCH_SPACE: usize = 0;
|
||||
|
||||
/// The memory pointer offset.
|
||||
pub const OFFSET_MEMORY_POINTER: usize = 2 * revive_common::BYTE_LENGTH_WORD;
|
||||
pub const OFFSET_MEMORY_POINTER: usize = 2 * BYTE_LENGTH_WORD;
|
||||
|
||||
/// The empty slot offset.
|
||||
pub const OFFSET_EMPTY_SLOT: usize = 3 * revive_common::BYTE_LENGTH_WORD;
|
||||
pub const OFFSET_EMPTY_SLOT: usize = 3 * BYTE_LENGTH_WORD;
|
||||
|
||||
/// The non-reserved memory offset.
|
||||
pub const OFFSET_NON_RESERVED: usize = 4 * revive_common::BYTE_LENGTH_WORD;
|
||||
pub const OFFSET_NON_RESERVED: usize = 4 * BYTE_LENGTH_WORD;
|
||||
Reference in new issue
Block a user