compiler: prerequisite changes for upcoming map update
							parent
							
								
									99398ba652
								
							
						
					
					
						commit
						b750f1d1bb
					
				|  | @ -59,6 +59,14 @@ mut: | ||||||
| 	value voidptr | 	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 { | fn new_map(n, value_bytes int) map { | ||||||
| 	probe_hash_bytes := sizeof(u32) * init_capicity | 	probe_hash_bytes := sizeof(u32) * init_capicity | ||||||
| 	key_value_bytes := sizeof(KeyValue) * init_capicity | 	key_value_bytes := sizeof(KeyValue) * init_capicity | ||||||
|  |  | ||||||
|  | @ -401,7 +401,7 @@ fn (v &V) type_definitions() string { | ||||||
| 	mut types := []Type // structs that need to be sorted
 | 	mut types := []Type // structs that need to be sorted
 | ||||||
| 	mut builtin_types := []Type // builtin types
 | 	mut builtin_types := []Type // builtin types
 | ||||||
| 	// builtin types need to be on top
 | 	// builtin types need to be on top
 | ||||||
| 	builtins := ['string', 'array', 'map', 'Option'] | 	builtins := ['string', 'array', 'KeyValue', 'DenseArray', 'map', 'Option'] | ||||||
| 	for builtin in builtins { | 	for builtin in builtins { | ||||||
| 		typ := v.table.typesmap[builtin] | 		typ := v.table.typesmap[builtin] | ||||||
| 		builtin_types << typ | 		builtin_types << typ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue