Browse Source

Merge remote-tracking branch 'origin/develop' into develop

Conflicts:
	libevmjit-cpp/JitVM.cpp
cl-refactor
Paweł Bylica 10 years ago
parent
commit
9452da9ea1
  1. 8
      libevmjit-cpp/JitVM.cpp
  2. 2
      libevmjit/Compiler.cpp

8
libevmjit-cpp/JitVM.cpp

@ -13,7 +13,7 @@ bytesConstRef JitVM::go(ExtVMFace& _ext, OnOpFunc const&, uint64_t)
{ {
using namespace jit; using namespace jit;
RuntimeData data = {}; RuntimeData data{{},nullptr,nullptr};
#define set(INDEX, VALUE) data.elems[INDEX] = eth2llvm(VALUE) #define set(INDEX, VALUE) data.elems[INDEX] = eth2llvm(VALUE)
set(RuntimeData::Gas, m_gas); set(RuntimeData::Gas, m_gas);
@ -64,5 +64,9 @@ namespace
{ {
// MSVS linker ignores export symbols in Env.cpp if nothing point at least one of them // MSVS linker ignores export symbols in Env.cpp if nothing point at least one of them
extern "C" void env_sload(); extern "C" void env_sload();
void linkerWorkaround() { env_sload(); } void linkerWorkaround()
{
env_sload();
(void)linkerWorkaround; // suppress unused function warning from GCC
}
} }

2
libevmjit/Compiler.cpp

@ -810,7 +810,7 @@ void Compiler::compileBasicBlock(BasicBlock& _basicBlock, bytes const& _bytecode
// This will commit the current cost block // This will commit the current cost block
_gasMeter.countLogData(numBytes); _gasMeter.countLogData(numBytes);
std::array<llvm::Value*, 4> topics{}; std::array<llvm::Value*, 4> topics{{}};
auto numTopics = static_cast<size_t>(inst) - static_cast<size_t>(Instruction::LOG0); auto numTopics = static_cast<size_t>(inst) - static_cast<size_t>(Instruction::LOG0);
for (size_t i = 0; i < numTopics; ++i) for (size_t i = 0; i < numTopics; ++i)
topics[i] = stack.pop(); topics[i] = stack.pop();

Loading…
Cancel
Save