1
0
mirror of https://github.com/janet-lang/janet synced 2025-01-14 09:25:41 +00:00
Add gc pressure when resizing fiber stack.
This commit is contained in:
Calvin Rose 2020-10-18 18:41:18 -05:00
parent 1fba699ed4
commit 2891d2b260

View File

@ -103,12 +103,15 @@ static void janet_fiber_refresh_memory(JanetFiber *fiber) {
/* Ensure that the fiber has enough extra capacity */
void janet_fiber_setcapacity(JanetFiber *fiber, int32_t n) {
int32_t old_size = fiber->capacity;
int32_t diff = n - old_size;
Janet *newData = realloc(fiber->data, sizeof(Janet) * n);
if (NULL == newData) {
JANET_OUT_OF_MEMORY;
}
fiber->data = newData;
fiber->capacity = n;
janet_vm_next_collection += sizeof(Janet) * diff;
}
/* Grow fiber if needed */