Jeffrey Wilcke
8c85532412
core/vm: added parsing utilities
9 years ago
Jeffrey Wilcke
b196278044
core/vm: added JIT segmenting / optimisations
...
* multi-push segments
* static jumps segments
9 years ago
Jeffrey Wilcke
361082ec4b
cmd/evm, core/vm, test: refactored VM and core
...
* Moved `vm.Transfer` to `core` package and changed execution to call
`env.Transfer` instead of `core.Transfer` directly.
* core/vm: byte code VM moved to jump table instead of switch
* Moved `vm.Transfer` to `core` package and changed execution to call
`env.Transfer` instead of `core.Transfer` directly.
* Byte code VM now shares the same code as the JITVM
* Renamed Context to Contract
* Changed initialiser of state transition & unexported methods
* Removed the Execution object and refactor `Call`, `CallCode` &
`Create` in to their own functions instead of being methods.
* Removed the hard dep on the state for the VM. The VM now
depends on a Database interface returned by the environment. In the
process the core now depends less on the statedb by usage of the env
* Moved `Log` from package `core/state` to package `core/vm`.
9 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
Jeffrey Wilcke
8b5a65c14a
core/vm: added str to op
9 years ago
Felix Lange
ea54283b30
all: update license information
9 years ago
obscuren
fa4aefee44
core/vm: cleanup and renames
10 years ago
obscuren
0330077d76
moved state and vm to core
10 years ago
obscuren
ca1b2a1a91
Changed prev_hash to block_hash, state transition now uses vm env
...
* PREVHASH => BLOCKHASH( N )
* State transition object uses VMEnv as it's query interface
* Updated vm.Enviroment has GetHash( n ) for BLOCKHASH instruction
* Added GetHash to xeth, core, utils & test environments
10 years ago
obscuren
3d9a4e7084
Fixed mem error in vm. Fixed logs tests
10 years ago
obscuren
cb4d168ecc
Updated LOG to match proper gas in all cases
10 years ago
obscuren
60cdb1148c
Transaction execution fixes
10 years ago
obscuren
1b1fa049fa
Fixed VM and added static analysis for EVM jumps
10 years ago
obscuren
141d3caabb
Re-org op codes
10 years ago
obscuren
272d58662c
Implemented LOG. Closes #159
10 years ago
obscuren
29b8a0bc5f
Updated the VM & VM tests
...
* Stack Error shouldn't revert to previous state
* Updated VM Test tool
* Added Transfer method to VM Env
10 years ago
obscuren
20c742e474
Moved ethvm => vm
10 years ago
obscuren
febec5ca4a
Switch EXT* codes
10 years ago
obscuren
c5bd32b0ad
Refactored VM to two separate VMs; std & debug
...
Standard VM should be about 10x faster than the debug VM. Some error
checking has been removed, all of the log statements and therefor quite
some unnecessary if-statements.
10 years ago
obscuren
9b60cf267a
Removed POST & moved CALLCODE
10 years ago
obscuren
a63b74e345
New OPCODES
...
* EXT- CODECOPY, CODESIZE
10 years ago
obscuren
3f904bf3ac
Implemented POST
10 years ago
obscuren
d03ab3c976
invalidated SWAP/DUP
10 years ago
obscuren
854d6d4e5c
DUP/SWAP n & ADD/MULMOD
10 years ago
obscuren
a289a77d5d
DUP n SWAP n
10 years ago
obscuren
1e8b54abfb
Refactored state, state object and vm
...
* The State and StateObject have been moved to their own package
* The VM is moved to it's own package
10 years ago
obscuren
1b431f29e5
Added missing types
11 years ago
obscuren
8a885c2606
Fixed GT and LT
11 years ago
obscuren
63883bf27d
Moving closer to interop
11 years ago
obscuren
d078e9b8c9
Refactoring state transitioning
11 years ago
obscuren
b855e5f7df
Changed opcode numbers and added missing opcodes
11 years ago
obscuren
98d4b51120
Changed opcode names
11 years ago
obscuren
281559d427
Canonical contract creation
11 years ago
obscuren
f0440e85dc
Removed value from closure.
11 years ago
obscuren
a0af7de58e
Optimizations
11 years ago
obscuren
3a9a252f6e
Fixed minor issue with gas and added state object init
11 years ago
obscuren
ca13e3b105
Moved assembler stage processing to it's own file
11 years ago
obscuren
116516158d
Renamed
11 years ago
obscuren
25dd46061f
Added push20
11 years ago
obscuren
891f725909
Added better address format
11 years ago
obscuren
205e33bc83
Fixed bug in stack to expand beyond expectations. Fixed EQ and NOT opcode
11 years ago
obscuren
e0b6091d7e
Test fixes and removed old code. Added VM gas fees
11 years ago
obscuren
01c1bce9c5
Removed regular ints from the virtual machine and closures
11 years ago
obscuren
2ea4c632d1
Closure return, arguments fixed. Added proper tests
11 years ago
obscuren
fa1db8d2dc
Implemented closure arguments
11 years ago
obscuren
f3d27bf5d8
Rewrote opcodes again
11 years ago
obscuren
c68ff9886b
Fixed MSTORE and added some more commets
11 years ago
obscuren
59d8dc3950
Fixed issue with stack where it sliced of the wrong values
11 years ago
obscuren
4cc5b03137
Added opcodes
11 years ago