Browse Source

Call helper

cl-refactor
Paweł Bylica 10 years ago
parent
commit
2493ef5f9e
  1. 7
      libevmjit/CompilerHelper.h
  2. 2
      libevmjit/GasMeter.cpp

7
libevmjit/CompilerHelper.h

@ -31,6 +31,13 @@ protected:
llvm::IRBuilder<>& m_builder;
llvm::IRBuilder<>& getBuilder() { return m_builder; }
template<typename ..._Args>
llvm::CallInst* call(llvm::Function* _func, _Args*... _args)
{
llvm::Value* args[] = {_args...};
return m_builder.CreateCall(_func, args);
}
friend class RuntimeHelper;
};

2
libevmjit/GasMeter.cpp

@ -143,7 +143,7 @@ void GasMeter::countSStore(Ext& _ext, llvm::Value* _index, llvm::Value* _newValu
auto isDel = m_builder.CreateAnd(oldValueIsntZero, newValueIsZero, "isDel");
auto cost = m_builder.CreateSelect(isAdd, Constant::get(2 * sstoreCost), Constant::get(sstoreCost), "cost");
cost = m_builder.CreateSelect(isDel, Constant::get(0), cost, "cost");
m_builder.CreateCall(m_gasCheckFunc, cost);
call(m_gasCheckFunc, cost);
}
void GasMeter::giveBack(llvm::Value* _gas)

Loading…
Cancel
Save