Properly calculate bytesRequired for subs

This commit is contained in:
Alex Beregszaszi 2017-09-18 11:04:24 +01:00
parent a0d171722a
commit 20ffa1db43

View File

@ -59,18 +59,18 @@ unsigned AssemblyItem::bytesRequired(unsigned _addressLength) const
case Tag: // 1 byte for the JUMPDEST
return 1;
case PushString:
return 33;
return 1 + 32;
case Push:
return 1 + max<unsigned>(1, dev::bytesRequired(data()));
case PushSubSize:
case PushProgramSize:
return 4; // worst case: a 16MB program
return 1 + 4; // worst case: a 16MB program
case PushTag:
case PushData:
case PushSub:
return 1 + _addressLength;
case PushLibraryAddress:
return 21;
return 1 + 20;
default:
break;
}