From 6a89bdc07a23b47bcf726b3e15ea34b314c2160a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Wed, 21 Jan 2015 19:37:41 +0100 Subject: [PATCH] Add refund support in JitVm --- vm/vm_jit.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/vm/vm_jit.go b/vm/vm_jit.go index 752c1d91c4..e3a0a0d8a8 100644 --- a/vm/vm_jit.go +++ b/vm/vm_jit.go @@ -207,6 +207,13 @@ func env_sstore(vmPtr unsafe.Pointer, indexPtr unsafe.Pointer, valuePtr unsafe.P index := llvm2hash(bswap((*i256)(indexPtr))) value := llvm2hash(bswap((*i256)(valuePtr))) value = trim(value) + if len(value) == 0 { + prevValue := vm.env.State().GetState(vm.me.Address(), index) + if len(prevValue) != 0 { + vm.Env().State().Refund(vm.callerAddr, GasSStoreRefund) + } + } + vm.env.State().SetState(vm.me.Address(), index, value) }