Skip to content

Commit cb8fe67

Browse files
committed
Update tables
1 parent 01a0f4a commit cb8fe67

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

Diff for: src/gc.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -230,14 +230,14 @@ STATIC_INLINE jl_gc_pagemeta_t *pop_lf_page_metadata_back(jl_gc_global_page_pool
230230
}
231231

232232
#ifdef _P64
233-
#define REGION0_PG_COUNT (1 << 16)
233+
#define REGION0_PG_COUNT (1 << 14)
234234
#define REGION1_PG_COUNT (1 << 16)
235235
#define REGION2_PG_COUNT (1 << 18)
236236
#define REGION0_INDEX(p) (((uintptr_t)(p) >> GC_PAGE_LG2) & 0xFFFF) // shift by GC_PAGE_LG2
237237
#define REGION1_INDEX(p) (((uintptr_t)(p) >> 30) & 0xFFFF)
238238
#define REGION_INDEX(p) (((uintptr_t)(p) >> 46) & 0x3FFFF)
239239
#else
240-
#define REGION0_PG_COUNT (1 << 8)
240+
#define REGION0_PG_COUNT (1 << 6)
241241
#define REGION1_PG_COUNT (1 << 10)
242242
#define REGION2_PG_COUNT (1 << 0)
243243
#define REGION0_INDEX(p) (((uintptr_t)(p) >> GC_PAGE_LG2) & 0xFF) // shift by GC_PAGE_LG2

Diff for: src/julia_internal.h

+9-11
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,6 @@ void gc_sweep_sysimg(void);
346346

347347

348348
// pools are 65528 bytes large (GC_POOL_SZ - GC_PAGE_OFFSET)
349-
// TODO update table for 64k size
350349
static const int jl_gc_sizeclasses[] = {
351350
#ifdef _P64
352351
8,
@@ -368,20 +367,19 @@ static const int jl_gc_sizeclasses[] = {
368367
// pg = 2^14
369368
// sz = (div.(pg-8, rng).÷16)*16; hcat(sz, (pg-8).÷sz, pg .- (pg-8).÷sz.*sz)'
370369

371-
// rng = 60:-4:32 (8 pools)
370+
// rng = 240:-16:128 (8 pools)
372371
272, 288, 304, 336, 368, 400, 448, 496,
373-
// 60, 56, 53, 48, 44, 40, 36, 33, /pool
374-
// 64, 256, 272, 256, 192, 384, 256, 16, bytes lost
375-
376-
// rng = 30:-2:16 (8 pools)
372+
// 240, 227, 215, 195, 178, 163, 146, 132, /pool
373+
// 248, 152, 168, 8, 24, 328, 120, 56, bytes lost
374+
// rng = 120:-8:64 (8 pools)
377375
544, 576, 624, 672, 736, 816, 896, 1008,
378-
// 30, 28, 26, 24, 22, 20, 18, 16, /pool
379-
// 64, 256, 160, 256, 192, 64, 256, 256, bytes lost
376+
// 120, 113, 105, 97, 89, 80, 73, 65, /pool
377+
// 248, 440, 8, 344, 24, 248, 120, 8, bytes lost
380378

381-
// rng = 15:-1:8 (8 pools)
379+
// rng = 60:-4:32 (8 pools)
382380
1088, 1168, 1248, 1360, 1488, 1632, 1808, 2032
383-
// 15, 14, 13, 12, 11, 10, 9, 8, /pool
384-
// 64, 32, 160, 64, 16, 64, 112, 128, bytes lost
381+
// 60, 56, 52, 48, 44, 40, 36, 32, /pool
382+
// 248, 120, 632, 248, 56, 248, 440, 504, bytes lost
385383
};
386384
static_assert(sizeof(jl_gc_sizeclasses) / sizeof(jl_gc_sizeclasses[0]) == JL_GC_N_POOLS, "");
387385

0 commit comments

Comments
 (0)