builtin: improve malloc panic messages (#12054)
parent
bfb8116623
commit
a8c2c419cd
|
@ -251,7 +251,7 @@ __global total_m = i64(0)
|
||||||
[unsafe]
|
[unsafe]
|
||||||
pub fn malloc(n int) &byte {
|
pub fn malloc(n int) &byte {
|
||||||
if n <= 0 {
|
if n <= 0 {
|
||||||
panic('> V malloc(<=0)')
|
panic('malloc($n <= 0)')
|
||||||
}
|
}
|
||||||
$if vplayground ? {
|
$if vplayground ? {
|
||||||
if n > 10000 {
|
if n > 10000 {
|
||||||
|
@ -277,9 +277,9 @@ pub fn malloc(n int) &byte {
|
||||||
mut e := Errno{}
|
mut e := Errno{}
|
||||||
res, e = mm_alloc(u64(n))
|
res, e = mm_alloc(u64(n))
|
||||||
if e != .enoerror {
|
if e != .enoerror {
|
||||||
eprint('malloc() failed: ')
|
eprint('malloc($n) failed: ')
|
||||||
eprintln(e.str())
|
eprintln(e.str())
|
||||||
panic('malloc() failed')
|
panic('malloc($n) failed')
|
||||||
}
|
}
|
||||||
} $else {
|
} $else {
|
||||||
res = unsafe { C.malloc(n) }
|
res = unsafe { C.malloc(n) }
|
||||||
|
@ -298,7 +298,7 @@ pub fn malloc(n int) &byte {
|
||||||
[unsafe]
|
[unsafe]
|
||||||
pub fn malloc_noscan(n int) &byte {
|
pub fn malloc_noscan(n int) &byte {
|
||||||
if n <= 0 {
|
if n <= 0 {
|
||||||
panic('> V malloc(<=0)')
|
panic('malloc_noscan($n <= 0)')
|
||||||
}
|
}
|
||||||
$if vplayground ? {
|
$if vplayground ? {
|
||||||
if n > 10000 {
|
if n > 10000 {
|
||||||
|
@ -330,15 +330,15 @@ pub fn malloc_noscan(n int) &byte {
|
||||||
mut e := Errno{}
|
mut e := Errno{}
|
||||||
res, e = mm_alloc(u64(n))
|
res, e = mm_alloc(u64(n))
|
||||||
if e != .enoerror {
|
if e != .enoerror {
|
||||||
eprint('malloc() failed: ')
|
eprint('malloc_noscan($n) failed: ')
|
||||||
eprintln(e.str())
|
eprintln(e.str())
|
||||||
panic('malloc() failed')
|
panic('malloc_noscan($n) failed')
|
||||||
}
|
}
|
||||||
} $else {
|
} $else {
|
||||||
res = unsafe { C.malloc(n) }
|
res = unsafe { C.malloc(n) }
|
||||||
}
|
}
|
||||||
if res == 0 {
|
if res == 0 {
|
||||||
panic('malloc($n) failed')
|
panic('malloc_noscan($n) failed')
|
||||||
}
|
}
|
||||||
$if debug_malloc ? {
|
$if debug_malloc ? {
|
||||||
// Fill in the memory with something != 0, so it is easier to spot
|
// Fill in the memory with something != 0, so it is easier to spot
|
||||||
|
@ -426,7 +426,7 @@ pub fn realloc_data(old_data &byte, old_size int, new_size int) &byte {
|
||||||
// Unlike `v_calloc` vcalloc checks for negative values given in `n`.
|
// Unlike `v_calloc` vcalloc checks for negative values given in `n`.
|
||||||
pub fn vcalloc(n int) &byte {
|
pub fn vcalloc(n int) &byte {
|
||||||
if n < 0 {
|
if n < 0 {
|
||||||
panic('calloc(<0)')
|
panic('calloc($n < 0)')
|
||||||
} else if n == 0 {
|
} else if n == 0 {
|
||||||
return &byte(0)
|
return &byte(0)
|
||||||
}
|
}
|
||||||
|
@ -459,7 +459,7 @@ pub fn vcalloc_noscan(n int) &byte {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if n < 0 {
|
if n < 0 {
|
||||||
panic('calloc(<0)')
|
panic('calloc_noscan($n < 0)')
|
||||||
}
|
}
|
||||||
return $if gcboehm_opt ? {
|
return $if gcboehm_opt ? {
|
||||||
unsafe { &byte(C.memset(C.GC_MALLOC_ATOMIC(n), 0, n)) }
|
unsafe { &byte(C.memset(C.GC_MALLOC_ATOMIC(n), 0, n)) }
|
||||||
|
|
Loading…
Reference in New Issue