From 7798a2711213823de409577226f2f1c7f7f2e861 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Fri, 9 Jun 2017 14:38:23 +0100 Subject: Add Julia mode as an option to EVMCodeTransform --- libjulia/backends/evm/EVMCodeTransform.cpp | 2 +- libjulia/backends/evm/EVMCodeTransform.h | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'libjulia/backends') diff --git a/libjulia/backends/evm/EVMCodeTransform.cpp b/libjulia/backends/evm/EVMCodeTransform.cpp index 8f12bc25..efbe5647 100644 --- a/libjulia/backends/evm/EVMCodeTransform.cpp +++ b/libjulia/backends/evm/EVMCodeTransform.cpp @@ -294,7 +294,7 @@ void CodeTransform::operator()(FunctionDefinition const& _function) m_assembly.appendConstant(u256(0)); } - CodeTransform(m_assembly, m_info, m_evm15, m_identifierAccess, localStackAdjustment, m_context) + CodeTransform(m_assembly, m_info, m_julia, m_evm15, m_identifierAccess, localStackAdjustment, m_context) (_function.body); { diff --git a/libjulia/backends/evm/EVMCodeTransform.h b/libjulia/backends/evm/EVMCodeTransform.h index d09ee87b..cd452c5b 100644 --- a/libjulia/backends/evm/EVMCodeTransform.h +++ b/libjulia/backends/evm/EVMCodeTransform.h @@ -48,11 +48,13 @@ public: CodeTransform( julia::AbstractAssembly& _assembly, solidity::assembly::AsmAnalysisInfo& _analysisInfo, + bool _julia = false, bool _evm15 = false, ExternalIdentifierAccess const& _identifierAccess = ExternalIdentifierAccess() ): CodeTransform( _assembly, _analysisInfo, + _julia, _evm15, _identifierAccess, _assembly.stackHeight(), @@ -73,6 +75,7 @@ protected: CodeTransform( julia::AbstractAssembly& _assembly, solidity::assembly::AsmAnalysisInfo& _analysisInfo, + bool _julia, bool _evm15, ExternalIdentifierAccess const& _identifierAccess, int _stackAdjustment, @@ -80,6 +83,7 @@ protected: ): m_assembly(_assembly), m_info(_analysisInfo), + m_julia(_julia), m_evm15(_evm15), m_identifierAccess(_identifierAccess), m_stackAdjustment(_stackAdjustment), @@ -130,6 +134,7 @@ private: julia::AbstractAssembly& m_assembly; solidity::assembly::AsmAnalysisInfo& m_info; solidity::assembly::Scope* m_scope = nullptr; + bool m_julia = false; bool m_evm15 = false; ExternalIdentifierAccess m_identifierAccess; /// Adjustment between the stack height as determined during the analysis phase -- cgit