فهرست منبع

remove malloc for unused

blueloveTH 8 ماه پیش
والد
کامیت
2fc8e40734
2فایلهای تغییر یافته به همراه1 افزوده شده و 3 حذف شده
  1. 1 1
      include/pocketpy/interpreter/objectpool.h
  2. 0 2
      src/interpreter/objectpool.c

+ 1 - 1
include/pocketpy/interpreter/objectpool.h

@@ -11,8 +11,8 @@ typedef struct PoolArena {
     int block_size;
     int block_count;
     int unused_length;
-    int* unused;
     char data[kPoolArenaSize];
+    int unused[];
 } PoolArena;
 
 typedef struct Pool {

+ 0 - 2
src/interpreter/objectpool.c

@@ -16,7 +16,6 @@ static PoolArena* PoolArena__new(int block_size) {
     self->block_size = block_size;
     self->block_count = block_count;
     self->unused_length = block_count;
-    self->unused = PK_MALLOC(sizeof(int) * block_count);
     for(int i = 0; i < block_count; i++) {
         self->unused[i] = i;
     }
@@ -29,7 +28,6 @@ static void PoolArena__delete(PoolArena* self) {
         PyObject* obj = (PyObject*)(self->data + i * self->block_size);
         if(obj->type != 0) PyObject__dtor(obj);
     }
-    PK_FREE(self->unused);
     PK_FREE(self);
 }