From f84523cb51231f0084aec04c7a1cbed408561c02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Fri, 27 Feb 2015 16:16:30 +0100 Subject: [PATCH] Init memory array in LLVM --- libevmjit/Array.cpp | 4 +++- libevmjit/Runtime.h | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libevmjit/Array.cpp b/libevmjit/Array.cpp index 21de061c6..92ba6193d 100644 --- a/libevmjit/Array.cpp +++ b/libevmjit/Array.cpp @@ -239,7 +239,9 @@ Array::Array(llvm::IRBuilder<>& _builder, llvm::Value* _array) : m_setFunc([this](){ return createArraySetFunc(); }), m_getFunc([this](){ return createArrayGetFunc(); }), m_freeFunc([this](){ return createFreeFunc(); }) -{} +{ + m_builder.CreateStore(llvm::ConstantAggregateZero::get(getType()), m_array); +} void Array::pop(llvm::Value* _count) diff --git a/libevmjit/Runtime.h b/libevmjit/Runtime.h index 5b8052330..4fc1705c4 100644 --- a/libevmjit/Runtime.h +++ b/libevmjit/Runtime.h @@ -26,9 +26,9 @@ private: byte* m_memoryData = nullptr; i256 m_memorySize; public: - byte* m_memData = nullptr; // FIXME: Remember to free memory - uint64_t m_memSize = 0; // TODO: Init array in LLVM, to allow more optimization - uint64_t m_memCap = 0; + byte* m_memData; // FIXME: Remember to free memory + uint64_t m_memSize; + uint64_t m_memCap; }; }