| @@ -128,11 +128,11 @@ cvalue_(const sl_type *type, usize sz, bool nofinalize) · 127 unmodified lines |
| 128 | void *data = MEM_ALLOC(sz); | 128 | void *data = MEM_ALLOC(sz); |
| 129 | if(sl_unlikely(data == nil)) | 129 | if(sl_unlikely(data == nil)) |
| 130 | cthrow(lerrorf(sl_errmem, "no memory for a cv"), type); | 130 | cthrow(lerrorf(sl_errmem, "no memory for a cv"), type); |
| | 131 | slvm.malloc_pressure += sz; |
| 131 | pcv = alloc_words(CVALUE_NWORDS); | 132 | pcv = alloc_words(CVALUE_NWORDS); |
| 132 | pcv->type = type; | 133 | pcv->type = type; |
| 133 | pcv->data = data; | 134 | pcv->data = data; |
| 134 | cv_autorelease(pcv); | 135 | cv_autorelease(pcv); |
| 135 | slvm.malloc_pressure += sz; | | |
| 136 | } | 136 | } |
| 137 | if(str){ | 137 | if(str){ |
| 138 | ((char*)pcv->data)[--sz] = '\0'; | 138 | ((char*)pcv->data)[--sz] = '\0'; |
| @@ -212,6 +212,7 @@ cv_pin(sl_cv *cv) · 73 unmodified lines |
| 212 | void *data = MEM_ALLOC(sz); | 212 | void *data = MEM_ALLOC(sz); |
| 213 | if(sl_unlikely(data == nil)) | 213 | if(sl_unlikely(data == nil)) |
| 214 | cthrow(lerrorf(sl_errmem, "no memory to pin a cv"), cv); | 214 | cthrow(lerrorf(sl_errmem, "no memory to pin a cv"), cv); |
| | 215 | slvm.malloc_pressure += sz; |
| 215 | memcpy(data, cv_data(cv), sz); | 216 | memcpy(data, cv_data(cv), sz); |
| 216 | cv->data = data; | 217 | cv->data = data; |
| 217 | cv_autorelease(cv); | 218 | cv_autorelease(cv); |
| @@ -789,8 +790,11 @@ cvalue_copy(sl_v v) · 571 unmodified lines |
| 789 | usize len = cv_len(cv) + (cv_isstr(cv) ? 1 : 0); | 790 | usize len = cv_len(cv) + (cv_isstr(cv) ? 1 : 0); |
| 790 | bool inlined = isinlined(cv); | 791 | bool inlined = isinlined(cv); |
| 791 | void *data = nil; | 792 | void *data = nil; |
| 792 | if(!inlined && sl_unlikely((data = MEM_ALLOC(len)) == nil)) | 793 | if(!inlined){ |
| 793 | cthrow(lerrorf(sl_errmem, "no memory for a cv copy"), v); | 794 | if(sl_unlikely((data = MEM_ALLOC(len)) == nil)) |
| | 795 | cthrow(lerrorf(sl_errmem, "no memory for a cv copy"), v); |
| | 796 | slvm.malloc_pressure += len; |
| | 797 | } |
| 794 | | 798 | |
| 795 | PUSH(v); | 799 | PUSH(v); |
| 796 | sl_cv *ncv = alloc_words(nw); | 800 | sl_cv *ncv = alloc_words(nw); |