compiler: prerequisite changes for upcoming map update

pull/3998/head
Joe Conigliaro 2020-03-12 22:19:13 +11:00
parent 99398ba652
commit b750f1d1bb
2 changed files with 9 additions and 1 deletions

View File

@ -59,6 +59,14 @@ mut:
value voidptr
}
// Dynamic array with very low growth factor
struct DenseArray {
mut:
data &KeyValue
cap u32
size u32
}
fn new_map(n, value_bytes int) map {
probe_hash_bytes := sizeof(u32) * init_capicity
key_value_bytes := sizeof(KeyValue) * init_capicity

View File

@ -401,7 +401,7 @@ fn (v &V) type_definitions() string {
mut types := []Type // structs that need to be sorted
mut builtin_types := []Type // builtin types
// builtin types need to be on top
builtins := ['string', 'array', 'map', 'Option']
builtins := ['string', 'array', 'KeyValue', 'DenseArray', 'map', 'Option']
for builtin in builtins {
typ := v.table.typesmap[builtin]
builtin_types << typ