Fix VM memory allocation optimizations by reducing what we allocate on the heap
This commit is contained in:
@@ -12,7 +12,7 @@ type HashKey struct {
|
||||
Value uint64
|
||||
}
|
||||
|
||||
func (b *Boolean) HashKey() HashKey {
|
||||
func (b Boolean) HashKey() HashKey {
|
||||
var value uint64
|
||||
|
||||
if b.Value {
|
||||
@@ -24,11 +24,11 @@ func (b *Boolean) HashKey() HashKey {
|
||||
return HashKey{Type: b.Type(), Value: value}
|
||||
}
|
||||
|
||||
func (i *Integer) HashKey() HashKey {
|
||||
func (i Integer) HashKey() HashKey {
|
||||
return HashKey{Type: i.Type(), Value: uint64(i.Value)}
|
||||
}
|
||||
|
||||
func (s *String) HashKey() HashKey {
|
||||
func (s String) HashKey() HashKey {
|
||||
h := fnv.New64a()
|
||||
h.Write([]byte(s.Value))
|
||||
|
||||
@@ -98,7 +98,7 @@ func (h *Hash) Get(index Object) (Object, error) {
|
||||
|
||||
pair, found := h.Pairs[key.HashKey()]
|
||||
if !found {
|
||||
return &Null{}, nil
|
||||
return Null{}, nil
|
||||
}
|
||||
|
||||
return pair.Value, nil
|
||||
|
||||
Reference in New Issue
Block a user