Jeffrey Wilcke
ac697326a6
core/vm: reduced big int allocations
...
Reduced big int allocation by making stack items modifiable. Instead of
adding items such as `common.Big0` to the stack, `new(big.Int)` is
added instead. One must expect that any item that is added to the stack
might change.
9 years ago
Jeffrey Wilcke
184e9ae9a8
core, tests: reduced state copy by N calls
...
Reduced the amount of state copied that are required by N calls by doing
a balance check prior to any state modifications.
9 years ago
Jeffrey Wilcke
846f34f78b
core/vm, tests: implemented semi-jit vm
...
* changed stack and removed stack ptr. Let go decide on slice reuse.
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
10 years ago
Felix Lange
4fb28e0dab
all: goimports -w
10 years ago
Felix Lange
bdae4fd573
all: add some godoc synopsis comments
10 years ago
Felix Lange
ea54283b30
all: update license information
10 years ago
Jeffrey Wilcke
e6bb9c1cad
core, miner: removed vm errors from consensus err checking
...
Removed VM errors from the consensus errors. They now used for output
only.
10 years ago
Gustav Simonsson
0f04af5916
Fix core error forwarding, unify OOG VM err
10 years ago
Gustav Simonsson
4c490db6af
Use uint64 for block header timestamp
10 years ago
obscuren
430bcdb219
core/vm: clarified SSTORE
10 years ago
obscuren
f5abc9f188
core, core/vm: state improvements and tx pool speed up
...
Removed full tx validation during state transitions
10 years ago
obscuren
753d62a4dd
core: TMP testing code
10 years ago
obscuren
787a61bb27
core/state, core/vm: reworked storage get / set to use common.Hash
10 years ago
obscuren
5721fcf668
core/state, core/vm: cleanup refunds
10 years ago
obscuren
287f990891
core/vm: Improved error reporting for trace logging
10 years ago
obscuren
02d629af8f
core/vm: fixed printable characters using unicode instead
10 years ago
obscuren
f599a1b5f1
core/vm: added a comment regarding the uint64 vs *big.Int
10 years ago
obscuren
e7627623b9
core/vm: reverse loop stack
10 years ago
obscuren
f94c5473ad
core/vm: fixed a bug where `Data` ignored the stack ptr
10 years ago
obscuren
10af69b57c
core, core/vm: moved logger and added gas cost to struct logging
10 years ago
obscuren
fc2a061d51
core/vm: unexported stack again. No longer required
10 years ago
obscuren
065aff9ffa
core/vm: documentation and name changes
10 years ago
obscuren
6fb6e6679e
core/vm, core/state: added storage to structured vm logging
10 years ago
obscuren
38c61f6f25
core, core/vm: added structure logging
...
This also reduces the time required spend in the VM
10 years ago
obscuren
ff5b3ef087
core/vm: added structured logging
10 years ago
obscuren
468501cb86
core/vm: changed program counter to uint64
10 years ago
Gustav Simonsson
6e3b58e491
Remove unneeded if check on EC recover padding
10 years ago
Gustav Simonsson
ad5b5a4895
Pad precompiled EC recover input and add validations
10 years ago
obscuren
fa4aefee44
core/vm: cleanup and renames
10 years ago
Felix Lange
48fb0c3213
core/vm: check for 'no code' before doing any work
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
f6f81169fe
core/vm: Fork fix. Removal of appending 0 bytes in memset
10 years ago
obscuren
b419e2631a
core/vm: Cleanups & SUB output fix. Closes #1096
10 years ago
obscuren
7381be8edb
core/vm, rpc: added disasm to `ext_` RPC
10 years ago
obscuren
f5af1fdca8
core/vm: RETURN op code returns pointer to memory rather than copy
10 years ago
obscuren
1c872ddf4b
Changed how logs are being recorded
...
Logs are now recorded per transactions instead of tossing them out after
each transaction. This should also fix an issue with
`eth_getFilterLogs` (#629 ) Also now implemented are the `transactionHash,
blockHash, transactionIndex, logIndex` on logs. Closes #654 .
10 years ago
Gustav Simonsson
2591883a18
Use logger.Error instead of 0 with glog
10 years ago
Gustav Simonsson
3f306f63d4
Forward and log EC recover err and remove dup pubkey len check
10 years ago
obscuren
a0e44e3281
basic glog
10 years ago
obscuren
f49e398ebe
bool => int
10 years ago
obscuren
c59c826ab4
fixed stack level
10 years ago
Gustav Simonsson
c26c8d3a44
Read most protocol params from common/params.json
...
* Add params package with exported variables generated from
github.com/ethereum/common/blob/master/params.json
* Use params package variables in applicable places
* Add check for minimum gas limit in validation of block's gas limit
* Remove common/params.json from go-ethereum to avoid
outdated version of it
10 years ago
obscuren
516ec28544
sha3 stack check
10 years ago
obscuren
96cf776f81
Check stack for BALANCE. Closes #622
10 years ago
obscuren
0a554a1f27
Blocktest fixed, Execution fixed
...
* Added new CreateAccount method which properly overwrites previous
accounts (excluding balance)
* Fixed block tests (100% success)
10 years ago
obscuren
61c5edcb57
Cleanup.
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