good morning!!!!

Skip to content
Snippets Groups Projects
  1. Feb 13, 2017
  2. Feb 02, 2017
    • Jeffrey Wilcke's avatar
      params: core, core/vm, miner: 64bit gas instructions (#3514) · 8b57c494
      Jeffrey Wilcke authored
      Reworked the EVM gas instructions to use 64bit integers rather than
      arbitrary size big ints. All gas operations, be it additions,
      multiplications or divisions, are checked and guarded against 64 bit
      integer overflows.
      
      In additon, most of the protocol paramaters in the params package have
      been converted to uint64 and are now constants rather than variables.
      
      * common/math: added overflow check ops
      * core: vmenv, env renamed to evm
      * eth, internal/ethapi, les: unmetered eth_call and cancel methods
      * core/vm: implemented big.Int pool for evm instructions
      * core/vm: unexported intPool methods & verification methods
      * core/vm: added memoryGasCost overflow check and test
      8b57c494
  3. Jan 25, 2017
    • Felix Lange's avatar
      event: deprecate TypeMux and related types · 9b62facd
      Felix Lange authored
      The Subscription type is gone, all uses are replaced by
      *TypeMuxSubscription. This change is prep-work for the
      introduction of the new Subscription type in a later commit.
      
         gorename -from '"github.com/ethereum/go-ethereum/event"::Event' -to TypeMuxEvent
         gorename -from '"github.com/ethereum/go-ethereum/event"::muxsub' -to TypeMuxSubscription
         gofmt -w -r 'Subscription -> *TypeMuxSubscription' ./event/*.go
         find . -name '*.go' -and -not -regex '\./vendor/.*' \| xargs gofmt -w -r 'event.Subscription -> *event.TypeMuxSubscription'
      9b62facd
  4. Jan 17, 2017
  5. Jan 06, 2017
  6. Jan 05, 2017
    • Felix Lange's avatar
    • Jeffrey Wilcke's avatar
      core/vm: improved EVM run loop & instruction calling (#3378) · bbc4ea4a
      Jeffrey Wilcke authored
      The run loop, which previously contained custom opcode executes have been
      removed and has been simplified to a few checks.
      
      Each operation consists of 4 elements: execution function, gas cost function,
      stack validation function and memory size function. The execution function
      implements the operation's runtime behaviour, the gas cost function implements
      the operation gas costs function and greatly depends on the memory and stack,
      the stack validation function validates the stack and makes sure that enough
      items can be popped off and pushed on and the memory size function calculates
      the memory required for the operation and returns it.
      
      This commit also allows the EVM to go unmetered. This is helpful for offline
      operations such as contract calls.
      bbc4ea4a
  7. Dec 16, 2016
  8. Dec 10, 2016
  9. Dec 06, 2016
    • Jeffrey Wilcke's avatar
      core, core/vm: implemented a generic environment (#3348) · 3fc7c978
      Jeffrey Wilcke authored
      Environment is now a struct (not an interface). This
      reduces a lot of tech-debt throughout the codebase where a virtual
      machine environment had to be implemented in order to test or run it.
      
      The new environment is suitable to be used en the json tests, core
      consensus and light client.
      3fc7c978
  10. Nov 28, 2016
  11. Nov 23, 2016
  12. Nov 14, 2016
  13. Nov 13, 2016
  14. Nov 09, 2016
  15. Oct 14, 2016
    • Felix Lange's avatar
      trie, core/state: improve memory usage and performance (#3135) · 40cdcf11
      Felix Lange authored
      * trie: store nodes as pointers
      
      This avoids memory copies when unwrapping node interface values.
      
      name      old time/op  new time/op  delta
      Get        388ns ± 8%   215ns ± 2%  -44.56%  (p=0.000 n=15+15)
      GetDB      363ns ± 3%   202ns ± 2%  -44.21%  (p=0.000 n=15+15)
      UpdateBE  1.57µs ± 2%  1.29µs ± 3%  -17.80%  (p=0.000 n=13+15)
      UpdateLE  1.92µs ± 2%  1.61µs ± 2%  -16.25%  (p=0.000 n=14+14)
      HashBE    2.16µs ± 6%  2.18µs ± 6%     ~     (p=0.436 n=15+15)
      HashLE    7.43µs ± 3%  7.21µs ± 3%   -2.96%  (p=0.000 n=15+13)
      
      * trie: close temporary databases in GetDB benchmark
      
      * trie: don't keep []byte from DB load around
      
      Nodes decoded from a DB load kept hashes and values as sub-slices of
      the DB value. This can be a problem because loading from leveldb often
      returns []byte with a cap that's larger than necessary, increasing
      memory usage.
      
      * trie: unload old cached nodes
      
      * trie, core/state: use cache unloading for account trie
      
      * trie: use explicit private flags (fixes Go 1.5 reflection issue).
      
      * trie: fixup cachegen overflow at request of nick
      
      * core/state: rename journal size constant
      40cdcf11
  16. Oct 06, 2016
    • Felix Lange's avatar
      core/state: implement reverts by journaling all changes · 1f1ea18b
      Felix Lange authored
      This commit replaces the deep-copy based state revert mechanism with a
      linear complexity journal. This commit also hides several internal
      StateDB methods to limit the number of ways in which calling code can
      use the journal incorrectly.
      
      As usual consultation and bug fixes to the initial implementation were
      provided by @karalabe, @obscuren and @Arachnid. Thank you!
      1f1ea18b
  17. Oct 01, 2016
  18. Sep 28, 2016
  19. Sep 26, 2016
  20. Sep 19, 2016
  21. Apr 15, 2016
  22. Feb 21, 2016
  23. Jan 26, 2016
  24. Dec 17, 2015
Loading