Skip to content

Commit 5243c07

Browse files
committed
Merge remote-tracking branch 'origin/main' into emmalloc.high-align
2 parents cf5cb09 + 04a0cad commit 5243c07

File tree

2 files changed

+18
-20
lines changed

2 files changed

+18
-20
lines changed

system/lib/emmalloc.c

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -374,17 +374,17 @@ static void dump_memory_regions()
374374
Region *r = (Region*)root;
375375
assert(debug_region_is_consistent(r));
376376
uint8_t *lastRegionEnd = root->endPtr;
377-
MAIN_THREAD_ASYNC_EM_ASM(out('Region block '+ptrToString($0)+' - '+ptrToString($1)+ ' ('+($2>>>0)+' bytes):'),
377+
MAIN_THREAD_ASYNC_EM_ASM(out('Region block '+ptrToString($0)+' - '+ptrToString($1)+ ' ('+toString(Number($2))+' bytes):'),
378378
r, lastRegionEnd, lastRegionEnd-(uint8_t*)r);
379379
while((uint8_t*)r < lastRegionEnd)
380380
{
381-
MAIN_THREAD_ASYNC_EM_ASM(out('Region '+ptrToString($0)+', size: '+($1>>>0)+' ('+($2?"used":"--FREE--")+')'),
381+
MAIN_THREAD_ASYNC_EM_ASM(out('Region '+ptrToString($0)+', size: '+toString(Number($1))+' ('+($2?"used":"--FREE--")+')'),
382382
r, r->size, region_ceiling_size(r) == r->size);
383383

384384
assert(debug_region_is_consistent(r));
385385
size_t sizeFromCeiling = size_of_region_from_ceiling(r);
386386
if (sizeFromCeiling != r->size)
387-
MAIN_THREAD_ASYNC_EM_ASM(out('Corrupt region! Size marker at the end of the region does not match: '+($0>>>0)), sizeFromCeiling);
387+
MAIN_THREAD_ASYNC_EM_ASM(out('Corrupt region! Size marker at the end of the region does not match: '+toString(Number($0))), sizeFromCeiling);
388388
if (r->size == 0)
389389
break;
390390
r = next_region(r);
@@ -399,7 +399,7 @@ static void dump_memory_regions()
399399
Region *fr = freeRegionBuckets[i].next;
400400
while(fr != &freeRegionBuckets[i])
401401
{
402-
MAIN_THREAD_ASYNC_EM_ASM(out('In bucket '+$0+', free region '+ptrToString($1)+', size: ' + ($2>>>0) + ' (size at ceiling: '+($3>>>0)+'), prev: ' + ptrToString($4) + ', next: ' + ptrToString($5)),
402+
MAIN_THREAD_ASYNC_EM_ASM(out('In bucket '+$0+', free region '+ptrToString($1)+', size: ' + toString(Number($2)) + ' (size at ceiling: '+toString(Number($3))+'), prev: ' + ptrToString($4) + ', next: ' + ptrToString($5)),
403403
i, fr, fr->size, size_of_region_from_ceiling(fr), fr->prev, fr->next);
404404
assert(debug_region_is_consistent(fr));
405405
assert(region_is_free(fr));
@@ -410,7 +410,7 @@ static void dump_memory_regions()
410410
fr = fr->next;
411411
}
412412
}
413-
MAIN_THREAD_ASYNC_EM_ASM(out('Free bucket index map: ' + ($0>>>0).toString(2) + ' ' + ($1>>>0).toString(2)), (uint32_t)(freeRegionBucketsUsed >> 32), (uint32_t)freeRegionBucketsUsed);
413+
MAIN_THREAD_ASYNC_EM_ASM(out('Free bucket index map: ' + toString(Number($0)).toString(2) + ' ' + toString(Number($1)).toString(2)), (uint32_t)(freeRegionBucketsUsed >> 32), (uint32_t)freeRegionBucketsUsed);
414414
MAIN_THREAD_ASYNC_EM_ASM(out(""));
415415
}
416416

@@ -430,7 +430,7 @@ static int validate_memory_regions()
430430
Region *r = (Region*)root;
431431
if (!debug_region_is_consistent(r))
432432
{
433-
MAIN_THREAD_ASYNC_EM_ASM(err('Used region '+ptrToString($0)+', size: '+($1>>>0)+' ('+($2?"used":"--FREE--")+') is corrupt (size markers in the beginning and at the end of the region do not match!)'),
433+
MAIN_THREAD_ASYNC_EM_ASM(err('Used region '+ptrToString($0)+', size: '+toString(Number($1))+' ('+($2?"used":"--FREE--")+') is corrupt (size markers in the beginning and at the end of the region do not match!)'),
434434
r, r->size, region_ceiling_size(r) == r->size);
435435
return 1;
436436
}
@@ -439,7 +439,7 @@ static int validate_memory_regions()
439439
{
440440
if (!debug_region_is_consistent(r))
441441
{
442-
MAIN_THREAD_ASYNC_EM_ASM(err('Used region '+ptrToString($0)+', size: '+($1>>>0)+' ('+($2?"used":"--FREE--")+') is corrupt (size markers in the beginning and at the end of the region do not match!)'),
442+
MAIN_THREAD_ASYNC_EM_ASM(err('Used region '+ptrToString($0)+', size: '+toString(Number($1))+' ('+($2?"used":"--FREE--")+') is corrupt (size markers in the beginning and at the end of the region do not match!)'),
443443
r, r->size, region_ceiling_size(r) == r->size);
444444
return 1;
445445
}
@@ -457,7 +457,7 @@ static int validate_memory_regions()
457457
{
458458
if (!debug_region_is_consistent(fr) || !region_is_free(fr) || fr->prev != prev || fr->next == fr || fr->prev == fr)
459459
{
460-
MAIN_THREAD_ASYNC_EM_ASM(out('In bucket '+$0+', free region '+ptrToString($1)+', size: ' + ($2>>>0) + ' (size at ceiling: '+($3>>>0)+'), prev: ' + ptrToString($4) + ', next: ' + ptrToString($5) + ' is corrupt!'),
460+
MAIN_THREAD_ASYNC_EM_ASM(out('In bucket '+$0+', free region '+ptrToString($1)+', size: ' + toString(Number($2)) + ' (size at ceiling: '+toString(Number($3))+'), prev: ' + ptrToString($4) + ', next: 0x' + ptrToString($5) + ' is corrupt!'),
461461
i, fr, fr->size, size_of_region_from_ceiling(fr), fr->prev, fr->next);
462462
return 1;
463463
}
@@ -479,7 +479,7 @@ int emmalloc_validate_memory_regions()
479479
static bool claim_more_memory(size_t numBytes)
480480
{
481481
#ifdef EMMALLOC_VERBOSE
482-
MAIN_THREAD_ASYNC_EM_ASM(out('claim_more_memory(numBytes='+($0>>>0)+ ')'), numBytes);
482+
MAIN_THREAD_ASYNC_EM_ASM(out('claim_more_memory(numBytes='+Number($0)+ ')'), numBytes);
483483
#endif
484484

485485
#ifdef EMMALLOC_MEMVALIDATE
@@ -496,7 +496,7 @@ static bool claim_more_memory(size_t numBytes)
496496
return false;
497497
}
498498
#ifdef EMMALLOC_VERBOSE
499-
MAIN_THREAD_ASYNC_EM_ASM(out('claim_more_memory: claimed ' + ptrToString($0) + ' - ' + ptrToString($1) + ' (' + ($2) + ' bytes) via sbrk()'), startPtr, startPtr + numBytes, numBytes);
499+
MAIN_THREAD_ASYNC_EM_ASM(out('claim_more_memory: claimed ' + ptrToString($0) + ' - ' + ptrToString($1) + ' (' + Number($2) + ' bytes) via sbrk()'), startPtr, startPtr + numBytes, numBytes);
500500
#endif
501501
assert(HAS_ALIGNMENT(startPtr, alignof(size_t)));
502502
uint8_t *endPtr = startPtr + numBytes;
@@ -646,7 +646,7 @@ static void *attempt_allocate(Region *freeRegion, size_t alignment, size_t size)
646646
#endif
647647

648648
#ifdef EMMALLOC_VERBOSE
649-
MAIN_THREAD_ASYNC_EM_ASM(out('attempt_allocate - succeeded allocating memory, region ptr=' + ptrToString($0) + ', align=' + $1 + ', payload size=' + ($2) + ' bytes)'), freeRegion, alignment, size);
649+
MAIN_THREAD_ASYNC_EM_ASM(out('attempt_allocate - succeeded allocating memory, region ptr=' + ptrToString($0) + ', align=' + $1 + ', payload size=' + toString(Number($2)) + ' bytes)'), freeRegion, alignment, size);
650650
#endif
651651

652652
return (uint8_t*)freeRegion + sizeof(size_t);
@@ -680,7 +680,7 @@ static void *allocate_memory(size_t alignment, size_t size)
680680
ASSERT_MALLOC_IS_ACQUIRED();
681681

682682
#ifdef EMMALLOC_VERBOSE
683-
MAIN_THREAD_ASYNC_EM_ASM(out('allocate_memory(align=' + $0 + ', size=' + ($1>>>0) + ' bytes)'), alignment, size);
683+
MAIN_THREAD_ASYNC_EM_ASM(out('allocate_memory(align=' + $0 + ', size=' + toString(Number($1)) + ' bytes)'), alignment, size);
684684
#endif
685685

686686
#ifdef EMMALLOC_MEMVALIDATE
@@ -698,7 +698,7 @@ static void *allocate_memory(size_t alignment, size_t size)
698698
if (size > MAX_ALLOC_SIZE)
699699
{
700700
#ifdef EMMALLOC_VERBOSE
701-
MAIN_THREAD_ASYNC_EM_ASM(out('Allocation failed: attempted allocation size is too large: ' + ($0 >>> 0) + 'bytes! (negative integer wraparound?)'), size);
701+
MAIN_THREAD_ASYNC_EM_ASM(out('Allocation failed: attempted allocation size is too large: ' + toString(Number($0)) + 'bytes! (negative integer wraparound?)'), size);
702702
#endif
703703
return 0;
704704
}
@@ -952,7 +952,7 @@ static int attempt_region_resize(Region *region, size_t size)
952952
assert(HAS_ALIGNMENT(size, sizeof(size_t)));
953953

954954
#ifdef EMMALLOC_VERBOSE
955-
MAIN_THREAD_ASYNC_EM_ASM(out('attempt_region_resize(region=' + ptrToString($0) + ', size=' + ($1>>>0) + ' bytes)'), region, size);
955+
MAIN_THREAD_ASYNC_EM_ASM(out('attempt_region_resize(region=' + ptrToString($0) + ', size=' + toString(Number($1)) + ' bytes)'), region, size);
956956
#endif
957957

958958
// First attempt to resize this region, if the next region that follows this one
@@ -1020,7 +1020,7 @@ static int acquire_and_attempt_region_resize(Region *region, size_t size)
10201020
void *emmalloc_aligned_realloc(void *ptr, size_t alignment, size_t size)
10211021
{
10221022
#ifdef EMMALLOC_VERBOSE
1023-
MAIN_THREAD_ASYNC_EM_ASM(out('aligned_realloc(ptr=' + ptrToString($0) + ', alignment=' + $1 + ', size=' + ($2>>>0)), ptr, alignment, size);
1023+
MAIN_THREAD_ASYNC_EM_ASM(out('aligned_realloc(ptr=' + ptrToString($0) + ', alignment=' + $1 + ', size=' + toString(Number($2))), ptr, alignment, size);
10241024
#endif
10251025

10261026
if (!ptr)
@@ -1035,7 +1035,7 @@ void *emmalloc_aligned_realloc(void *ptr, size_t alignment, size_t size)
10351035
if (size > MAX_ALLOC_SIZE)
10361036
{
10371037
#ifdef EMMALLOC_VERBOSE
1038-
MAIN_THREAD_ASYNC_EM_ASM(out('Allocation failed: attempted allocation size is too large: ' + ($0 >>> 0) + 'bytes! (negative integer wraparound?)'), size);
1038+
MAIN_THREAD_ASYNC_EM_ASM(out('Allocation failed: attempted allocation size is too large: ' + toString(Number($0)) + 'bytes! (negative integer wraparound?)'), size);
10391039
#endif
10401040
return 0;
10411041
}
@@ -1089,7 +1089,7 @@ void *emmalloc_realloc_try(void *ptr, size_t size)
10891089
if (size > MAX_ALLOC_SIZE)
10901090
{
10911091
#ifdef EMMALLOC_VERBOSE
1092-
MAIN_THREAD_ASYNC_EM_ASM(out('Allocation failed: attempted allocation size is too large: ' + ($0 >>> 0) + 'bytes! (negative integer wraparound?)'), size);
1092+
MAIN_THREAD_ASYNC_EM_ASM(out('Allocation failed: attempted allocation size is too large: ' + toString(Number($0)) + 'bytes! (negative integer wraparound?)'), size);
10931093
#endif
10941094
return 0;
10951095
}
@@ -1124,7 +1124,7 @@ void *emmalloc_aligned_realloc_uninitialized(void *ptr, size_t alignment, size_t
11241124
if (size > MAX_ALLOC_SIZE)
11251125
{
11261126
#ifdef EMMALLOC_VERBOSE
1127-
MAIN_THREAD_ASYNC_EM_ASM(out('Allocation failed: attempted allocation size is too large: ' + ($0 >>> 0) + 'bytes! (negative integer wraparound?)'), size);
1127+
MAIN_THREAD_ASYNC_EM_ASM(out('Allocation failed: attempted allocation size is too large: ' + toString(Number($0)) + 'bytes! (negative integer wraparound?)'), size);
11281128
#endif
11291129
return 0;
11301130
}

test/test_browser.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5591,8 +5591,6 @@ def test_zzz_zzz_emmalloc_4gb(self):
55915591
'memvalidate_verbose': (['-sMALLOC=emmalloc-memvalidate-verbose'],),
55925592
})
55935593
def test_emmalloc_3gb(self, args):
5594-
if self.is_wasm64() and 'verbose' in args[0]:
5595-
self.skipTest('https://github.com/emscripten-core/emscripten/pull/20654')
55965594
self.btest_exit('alloc_3gb.c',
55975595
args=['-sMAXIMUM_MEMORY=4GB', '-sALLOW_MEMORY_GROWTH=1'] + args)
55985596

0 commit comments

Comments
 (0)