Paweł Bylica
2904f20dfc
core/vm: optimize jumpdest analysis ( #23500 )
...
core/vm: optimize PUSH opcode discrimination
2022-10-28 09:03:21 +08:00
Paweł Bylica
81ec6b1d4c
core/vm: reverse bit order in bytes of code bitmap ( #24120 )
...
* core/vm: reverse bit order in bytes of code bitmap
This bit order is more natural for bit manipulation operations and we
can eliminate some small number of CPU instructions.
* core/vm: drop lookup table
2021-12-17 10:32:00 +01:00
Martin Holst Swende
1d99573192
core/vm: faster code analysis ( #23381 )
...
* core/vm: more detailed benchmark for jumpdest analysis
* core/vm: make jd analysis benchmark alloc free
* core/vm: improve jumpdest analysis
* core/vm: improve worst-case
* core/vm: further improvements in analysis
* core/vm: improve jumpdest analysis >PUSH15
* core/vm: make jd analysis ref by value
* core/vm: fix misspell
* core/vm: improve set8 and set16 a bit
* core/vm: reduce amount of code
* core/vm: optimize byte copying
2021-08-24 10:00:10 +03:00
Martin Holst Swende
89a32451ae
core/vm: faster create/create2 ( #17806 )
...
* core/vm/runtim: benchmark create/create2
* core/vm: do less hashing in CREATE2
* core/vm: avoid storing jumpdest analysis for initcode
* core/vm: avoid unneccesary lookups, remove unused fields
* core/vm: go formatting tests
* core/vm: save jumpdest analysis locally
* core/vm: use common.Hash instead of nil, fix review comments
* core/vm: removed type destinations
* core/vm: correct check for empty hash
* eth: more elegant api_tracer
* core/vm: address review concerns
2018-10-04 18:15:37 +03:00
Felix Lange
42a5b54bf5
core/vm: improve bitvec comments
2017-09-10 21:04:36 +02:00
Martin Holst Swende
d6681ed360
core/vm: Rename + updated doc on jumpdest analysis
2017-09-08 12:47:44 +02:00
Felix Lange
54b1de67e2
core/vm: make jumpdest code nicer
2017-08-24 13:09:53 +02:00
Martin Holst Swende
967e097faa
core/vm: Address review concerns
2017-08-14 10:57:54 +02:00
Martin Holst Swende
f4b5f67ee0
core/vm: improved jumpdest analysis
2017-06-05 09:15:46 +02:00
Nick Johnson
d5a79934dc
core/vm: Use a bitmap instead of a map for jumpdest analysis
...
t push --force
2017-06-01 19:14:05 +01:00
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Felix Lange
ea2718c946
core/vm: improve JUMPDEST analysis
...
* JUMPDEST analysis is faster because less type conversions are performed.
* The map of JUMPDEST locations is now created lazily at the first JUMP.
* The result of the analysis is kept around for recursive invocations
through CALL/CALLCODE.
Fixes #1147
2015-06-03 16:25:05 +02:00
obscuren
368ebe63a9
Cleanup VM.
...
* CALLDATA use getData
* removed old context get range value
* removed casting big => int for some cases
* pc now big int #457
2015-03-28 20:30:38 +01:00
obscuren
0330077d76
moved state and vm to core
2015-03-23 16:59:09 +01:00