aboutsummaryrefslogtreecommitdiffstats
path: root/core/vm/jit.go
diff options
context:
space:
mode:
authorJeffrey Wilcke <jeffrey@ethereum.org>2016-03-02 06:32:43 +0800
committerJeffrey Wilcke <geffobscura@gmail.com>2016-04-01 07:01:10 +0800
commitf0cbebb19f3137ee3ba0e66dadd1b5b9dbf98b1c (patch)
tree02e31a0e31040980e30e3a835ff9eba73e419439 /core/vm/jit.go
parent10d3466c934bd425a8c941270749a652a588527d (diff)
downloadgo-tangerine-f0cbebb19f3137ee3ba0e66dadd1b5b9dbf98b1c.tar.gz
go-tangerine-f0cbebb19f3137ee3ba0e66dadd1b5b9dbf98b1c.tar.zst
go-tangerine-f0cbebb19f3137ee3ba0e66dadd1b5b9dbf98b1c.zip
core: added basic chain configuration
Added chain configuration options and write out during genesis database insertion. If no "config" was found, nothing is written to the database. Configurations are written on a per genesis base. This means that any chain (which is identified by it's genesis hash) can have their own chain settings.
Diffstat (limited to 'core/vm/jit.go')
-rw-r--r--core/vm/jit.go23
1 files changed, 10 insertions, 13 deletions
diff --git a/core/vm/jit.go b/core/vm/jit.go
index 71ffcf0f6..ac2083f54 100644
--- a/core/vm/jit.go
+++ b/core/vm/jit.go
@@ -30,27 +30,24 @@ import (
"github.com/hashicorp/golang-lru"
)
+// progStatus is the type for the JIT program status.
type progStatus int32
const (
- progUnknown progStatus = iota
- progCompile
- progReady
- progError
+ progUnknown progStatus = iota // unknown status
+ progCompile // compile status
+ progReady // ready for use status
+ progError // error status (usually caused during compilation)
- defaultJitMaxCache int = 64
+ defaultJitMaxCache int = 64 // maximum amount of jit cached programs
)
-var (
- EnableJit bool // Enables the JIT VM
- ForceJit bool // Force the JIT, skip byte VM
- MaxProgSize int // Max cache size for JIT Programs
-)
+var MaxProgSize int // Max cache size for JIT programs
-var programs *lru.Cache
+var programs *lru.Cache // lru cache for the JIT programs.
func init() {
- programs, _ = lru.New(defaultJitMaxCache)
+ SetJITCacheSize(defaultJitMaxCache)
}
// SetJITCacheSize recreates the program cache with the max given size. Setting
@@ -322,7 +319,7 @@ func runProgram(program *Program, pcstart uint64, mem *Memory, stack *stack, env
}()
}
- homestead := params.IsHomestead(env.BlockNumber())
+ homestead := env.RuleSet().IsHomestead(env.BlockNumber())
for pc < uint64(len(program.instructions)) {
instrCount++