diff options
author | obscuren <geffobscura@gmail.com> | 2015-06-17 20:14:17 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-06-17 23:10:13 +0800 |
commit | 753d62a4ddd974a1410b1ed3ee92a30115a1e0df (patch) | |
tree | 15bd153ccbcb2108646ebfe526b67c2fc2f800f1 | |
parent | bdd63837ea20f3103cd44a2fb76591be074dcade (diff) | |
download | go-tangerine-753d62a4ddd974a1410b1ed3ee92a30115a1e0df.tar.gz go-tangerine-753d62a4ddd974a1410b1ed3ee92a30115a1e0df.tar.zst go-tangerine-753d62a4ddd974a1410b1ed3ee92a30115a1e0df.zip |
core: TMP testing code
-rw-r--r-- | core/block_processor.go | 23 | ||||
-rw-r--r-- | core/vm/context.go | 21 |
2 files changed, 23 insertions, 21 deletions
diff --git a/core/block_processor.go b/core/block_processor.go index c01b110be..748750e32 100644 --- a/core/block_processor.go +++ b/core/block_processor.go @@ -246,25 +246,18 @@ func (sm *BlockProcessor) processWithParent(block, parent *types.Block) (logs st return } - // store the receipts - err = putReceipts(sm.extraDb, block.Hash(), receipts) - if err != nil { - return nil, err - } - // Sync the current block's state to the database state.Sync() - // This puts transactions in a extra db for rpc - for i, tx := range block.Transactions() { - putTx(sm.extraDb, tx, block, uint64(i)) - } + go func() { + // This puts transactions in a extra db for rpc + for i, tx := range block.Transactions() { + putTx(sm.extraDb, tx, block, uint64(i)) + } - receiptsRlp := receipts.RlpEncode() - /*if len(receipts) > 0 { - glog.V(logger.Info).Infof("Saving %v receipts, rlp len is %v\n", len(receipts), len(receiptsRlp)) - }*/ - sm.extraDb.Put(append(receiptsPre, block.Hash().Bytes()...), receiptsRlp) + // store the receipts + putReceipts(sm.extraDb, block.Hash(), receipts) + }() return state.Logs(), nil } diff --git a/core/vm/context.go b/core/vm/context.go index e33324b53..56e8f925a 100644 --- a/core/vm/context.go +++ b/core/vm/context.go @@ -26,16 +26,25 @@ type Context struct { Args []byte } +var dests destinations + +func init() { + dests = make(destinations) +} + // Create a new context for the given data items. func NewContext(caller ContextRef, object ContextRef, value, gas, price *big.Int) *Context { c := &Context{caller: caller, self: object, Args: nil} - if parent, ok := caller.(*Context); ok { - // Reuse JUMPDEST analysis from parent context if available. - c.jumpdests = parent.jumpdests - } else { - c.jumpdests = make(destinations) - } + /* + if parent, ok := caller.(*Context); ok { + // Reuse JUMPDEST analysis from parent context if available. + c.jumpdests = parent.jumpdests + } else { + c.jumpdests = make(destinations) + } + */ + c.jumpdests = dests // Gas should be a pointer so it can safely be reduced through the run // This pointer will be off the state transition |