Paweł Bylica
997f1c4f0a
core/vm: optimize jumpdest analysis ( #23500 )
...
core/vm: optimize PUSH opcode discrimination
3 years ago
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
3 years ago
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
3 years ago
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
6 years ago
Felix Lange
42a5b54bf5
core/vm: improve bitvec comments
7 years ago
Martin Holst Swende
d6681ed360
core/vm: Rename + updated doc on jumpdest analysis
7 years ago
Felix Lange
54b1de67e2
core/vm: make jumpdest code nicer
7 years ago
Martin Holst Swende
967e097faa
core/vm: Address review concerns
7 years ago
Martin Holst Swende
f4b5f67ee0
core/vm: improved jumpdest analysis
8 years ago
Nick Johnson
d5a79934dc
core/vm: Use a bitmap instead of a map for jumpdest analysis
...
t push --force
8 years ago
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
9 years ago
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".
9 years ago
Felix Lange
ea54283b30
all: update license information
10 years ago
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
10 years ago
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
10 years ago
obscuren
0330077d76
moved state and vm to core
10 years ago
obscuren
16f417f5af
Fixed bug where logging could crash client during tx adding
10 years ago
obscuren
55e55826ee
Changed JUMP(I) behaviour.
...
* All jumps must land on a JUMPDEST instruction byte.
* The byte may not be part of a PUSH*
10 years ago
obscuren
83663ed4b0
Renames for chain, updated VM, moved methods
...
* Renamed a couple more chain => core
* Updated VM `pc` to be uint64 rather than big int
* XEth interface cleanup
10 years ago
obscuren
48488017e4
Proper packages
10 years ago
obscuren
b4da085a9f
Accidental packages
10 years ago
obscuren
8cfbf1836d
Added JUMP analysis (WIP)
10 years ago