From c5de54dbb0c92af6cfa1e9f76904d29bdb3b1cd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Mon, 29 Dec 2014 18:54:27 +0100 Subject: [PATCH] More aggresive gas counting optimization: do not commit cost before SSTORE. --- libevmjit/GasMeter.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/libevmjit/GasMeter.cpp b/libevmjit/GasMeter.cpp index 801d5b9381..515eefaaa1 100644 --- a/libevmjit/GasMeter.cpp +++ b/libevmjit/GasMeter.cpp @@ -87,7 +87,6 @@ bool isCostBlockEnd(Instruction _inst) switch (_inst) { - case Instruction::SSTORE: case Instruction::GAS: return true; @@ -164,8 +163,6 @@ void GasMeter::countExp(llvm::Value* _exponent) void GasMeter::countSStore(Ext& _ext, llvm::Value* _index, llvm::Value* _newValue) { - assert(!m_checkCall); // Everything should've been commited before - auto oldValue = _ext.sload(_index); auto oldValueIsZero = m_builder.CreateICmpEQ(oldValue, Constant::get(0), "oldValueIsZero"); auto newValueIsZero = m_builder.CreateICmpEQ(_newValue, Constant::get(0), "newValueIsZero");