builtin: use malloc_noscan more (for map metas and in []byte.hex())
							parent
							
								
									1993bf2a12
								
							
						
					
					
						commit
						8dc4b1d9a3
					
				| 
						 | 
				
			
			@ -791,7 +791,7 @@ pub fn (a []string) str() string {
 | 
			
		|||
// hex returns a string with the hexadecimal representation
 | 
			
		||||
// of the byte elements of the array.
 | 
			
		||||
pub fn (b []byte) hex() string {
 | 
			
		||||
	mut hex := unsafe { malloc(b.len * 2 + 1) }
 | 
			
		||||
	mut hex := unsafe { malloc_noscan(b.len * 2 + 1) }
 | 
			
		||||
	mut dst_i := 0
 | 
			
		||||
	for i in b {
 | 
			
		||||
		n0 := i >> 4
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -324,7 +324,7 @@ pub fn malloc_noscan(n int) &byte {
 | 
			
		|||
	}
 | 
			
		||||
	$if trace_malloc ? {
 | 
			
		||||
		total_m += n
 | 
			
		||||
		C.fprintf(C.stderr, c'_v_malloc %6d total %10d\n', n, total_m)
 | 
			
		||||
		C.fprintf(C.stderr, c'malloc_noscan %6d total %10d\n', n, total_m)
 | 
			
		||||
		// print_backtrace()
 | 
			
		||||
	}
 | 
			
		||||
	mut res := &byte(0)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -662,7 +662,7 @@ pub fn (m &map) clone() map {
 | 
			
		|||
		cached_hashbits: m.cached_hashbits
 | 
			
		||||
		shift: m.shift
 | 
			
		||||
		key_values: unsafe { m.key_values.clone() }
 | 
			
		||||
		metas: unsafe { &u32(malloc(metasize)) }
 | 
			
		||||
		metas: unsafe { &u32(malloc_noscan(metasize)) }
 | 
			
		||||
		extra_metas: m.extra_metas
 | 
			
		||||
		len: m.len
 | 
			
		||||
		has_string_keys: m.has_string_keys
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@ pub fn (c rune) str() string {
 | 
			
		|||
		println('len=$len')
 | 
			
		||||
		mut str := string{
 | 
			
		||||
			len: len
 | 
			
		||||
			str: malloc(len + 1)
 | 
			
		||||
			str: malloc_noscan(len + 1)
 | 
			
		||||
		}
 | 
			
		||||
		for i in 0..len {
 | 
			
		||||
			str.str[i] = byte(int(c)>>8 * (3 - i) & 0xff)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue