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