diff --git a/std/assembly/allocator/arena.ts b/std/assembly/allocator/arena.ts index b24bac6a..f5b87437 100644 --- a/std/assembly/allocator/arena.ts +++ b/std/assembly/allocator/arena.ts @@ -1,8 +1,9 @@ -/////////////// A simple yet effective Arena Memory Allocator ///////////////// - -// Provides a `reset_memory` function to reset the heap to its initial state. A -// user has to make sure that there are no more references to cleared memory -// afterwards. Always aligns to 8 bytes. +/** + * @file Arena Memory Allocator + * + * Provides a `reset_memory` function to reset the heap to its initial state. A user has to make + * sure that there are no more references to cleared memory afterwards. Always aligns to 8 bytes. + */ const ALIGN_LOG2: usize = 3; const ALIGN_SIZE: usize = 1 << ALIGN_LOG2; diff --git a/std/assembly/allocator/emscripten.ts b/std/assembly/allocator/emscripten.ts index 8c1da775..5dbfe08e 100644 --- a/std/assembly/allocator/emscripten.ts +++ b/std/assembly/allocator/emscripten.ts @@ -1,8 +1,10 @@ -///////////////////////// Emscripten Memory Allocator ////////////////////////// - -// Uses Emscripten's exported _malloc and _free implementations, i.e., when -// linking with Emscripten-compiled programs that already provide these. -// Differs from 'system' in that their names are prefixed with an underscore. +/** + * @file Emscripten Memory Allocator + * + * Uses Emscripten's exported _malloc and _free implementations, i.e., when linking with + * Emscripten-compiled programs that already provide these. Differs from 'system' in that their + * names are prefixed with an underscore. + */ declare function _malloc(size: usize): usize; declare function _free(ptr: usize): void; diff --git a/std/assembly/allocator/none.ts b/std/assembly/allocator/none.ts index 96f1beb8..6697f983 100644 --- a/std/assembly/allocator/none.ts +++ b/std/assembly/allocator/none.ts @@ -1,3 +1,7 @@ +/** + * @file Memory Allocator Stub + */ + export function allocate_memory(size: usize): usize { throw new Error("not supported"); } diff --git a/std/assembly/allocator/system.ts b/std/assembly/allocator/system.ts index b744fe26..8a19278e 100644 --- a/std/assembly/allocator/system.ts +++ b/std/assembly/allocator/system.ts @@ -1,7 +1,9 @@ -/////////////////////////// System Memory Allocator //////////////////////////// - -// Uses the environment's malloc and free implementations, i.e., when linking -// with other C-like programs that already provide these. +/** + * @file System Memory Allocator + * + * Uses the environment's malloc and free implementations, i.e., when linking with other C-like + * programs that already provide these. + */ declare function malloc(size: usize): usize; declare function free(ptr: usize): void; diff --git a/std/assembly/allocator/tlsf.ts b/std/assembly/allocator/tlsf.ts index 415ff4e7..8b1cef85 100644 --- a/std/assembly/allocator/tlsf.ts +++ b/std/assembly/allocator/tlsf.ts @@ -1,4 +1,9 @@ -////////////// TLSF (Two-Level Segregate Fit) Memory Allocator //////////////// +/** + * @file Two-Level Segregate Fit Memory Allocator + * + * A general purpose dynamic memory allocator specifically designed to meet real-time requirements. + * Always aligns to 8 bytes. + */ // ╒══════════════ Block size interpretation (32-bit) ═════════════╕ // 3 2 1 @@ -8,7 +13,7 @@ // └───────────────────────────────────────────────┴─────────╨─────┘ // FL: first level, SL: second level, AL: alignment, SB: small block -const AL_BITS: u32 = sizeof() == sizeof() ? 2 : 3; +const AL_BITS: u32 = 3; // always align to 8 bytes const AL_SIZE: usize = 1 << AL_BITS; const AL_MASK: usize = AL_SIZE - 1; @@ -46,8 +51,6 @@ const LEFT_FREE: usize = 1 << 1; /** Mask to obtain all tags. */ const TAGS: usize = FREE | LEFT_FREE; -assert(AL_BITS >= 2); // alignment must be large enough to store all tags - /** Block structure. */ @unmanaged class Block { @@ -56,7 +59,7 @@ class Block { info: usize; /** End offset of the {@link Block#info} field. User data starts here. */ - static readonly INFO: usize = sizeof(); + static readonly INFO: usize = (sizeof() + AL_MASK) & ~AL_MASK; /** Previous free block, if any. Only valid if free. */ prev: Block | null; @@ -64,7 +67,7 @@ class Block { next: Block | null; /** Minimum size of a block, excluding {@link Block#info}. */ - static readonly MIN_SIZE: usize = 3 * sizeof(); // prev + next + jump + static readonly MIN_SIZE: usize = (3 * sizeof() + AL_MASK) & ~AL_MASK;// prev + next + jump /** Maximum size of a used block, excluding {@link Block#info}. */ static readonly MAX_SIZE: usize = 1 << (FL_BITS + SB_BITS); @@ -445,7 +448,7 @@ export function allocate_memory(size: usize): usize { root.setHead(fl, sl, null); } } - root.addMemory(rootOffset + Root.SIZE, current_memory() << 16); + root.addMemory((rootOffset + Root.SIZE + AL_MASK) & ~AL_MASK, current_memory() << 16); } // search for a suitable block diff --git a/tests/allocators/buddy/assembly/buddy.ts b/tests/allocators/buddy/assembly/buddy.ts index 57bd3a5b..dfadeb45 100644 --- a/tests/allocators/buddy/assembly/buddy.ts +++ b/tests/allocators/buddy/assembly/buddy.ts @@ -1,3 +1,7 @@ +/** + * @file Buddy Memory Allocator + */ + /* Copyright 2018 Evan Wallace diff --git a/tests/allocators/buddy/buddy.optimized.wat b/tests/allocators/buddy/buddy.optimized.wat index 21baa315..da7529f9 100644 --- a/tests/allocators/buddy/buddy.optimized.wat +++ b/tests/allocators/buddy/buddy.optimized.wat @@ -19,161 +19,161 @@ (start $start) (func $assembly/buddy/update_max_ptr (; 0 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) - ;;@ assembly/buddy.ts:170:2 + ;;@ assembly/buddy.ts:174:2 (if - ;;@ assembly/buddy.ts:170:6 + ;;@ assembly/buddy.ts:174:6 (i32.gt_u (get_local $0) - ;;@ assembly/buddy.ts:170:18 + ;;@ assembly/buddy.ts:174:18 (get_global $assembly/buddy/max_ptr) ) - ;;@ assembly/buddy.ts:170:27 + ;;@ assembly/buddy.ts:174:27 (block - ;;@ assembly/buddy.ts:177:4 + ;;@ assembly/buddy.ts:181:4 (if - ;;@ assembly/buddy.ts:177:8 + ;;@ assembly/buddy.ts:181:8 (i32.lt_s (grow_memory - ;;@ assembly/buddy.ts:177:20 + ;;@ assembly/buddy.ts:181:20 (i32.sub - ;;@ assembly/buddy.ts:175:4 + ;;@ assembly/buddy.ts:179:4 (tee_local $1 - ;;@ assembly/buddy.ts:175:19 + ;;@ assembly/buddy.ts:179:19 (i32.shr_u - ;;@ assembly/buddy.ts:175:25 + ;;@ assembly/buddy.ts:179:25 (i32.and - ;;@ assembly/buddy.ts:175:26 + ;;@ assembly/buddy.ts:179:26 (i32.add - ;;@ assembly/buddy.ts:175:27 + ;;@ assembly/buddy.ts:179:27 (get_local $0) - ;;@ assembly/buddy.ts:175:39 + ;;@ assembly/buddy.ts:179:39 (i32.const 65535) ) (i32.const -65536) ) - ;;@ assembly/buddy.ts:175:61 + ;;@ assembly/buddy.ts:179:61 (i32.const 16) ) ) - ;;@ assembly/buddy.ts:174:19 + ;;@ assembly/buddy.ts:178:19 (current_memory) ) ) - ;;@ assembly/buddy.ts:177:43 + ;;@ assembly/buddy.ts:181:43 (i32.const 0) ) - ;;@ assembly/buddy.ts:178:13 + ;;@ assembly/buddy.ts:182:13 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:181:4 + ;;@ assembly/buddy.ts:185:4 (set_global $assembly/buddy/max_ptr - ;;@ assembly/buddy.ts:181:14 + ;;@ assembly/buddy.ts:185:14 (i32.shl (get_local $1) - ;;@ assembly/buddy.ts:181:33 + ;;@ assembly/buddy.ts:185:33 (i32.const 16) ) ) ) ) - ;;@ assembly/buddy.ts:183:9 + ;;@ assembly/buddy.ts:187:9 (i32.const 1) ) (func $assembly/buddy/buckets$get (; 1 ;) (type $ii) (param $0 i32) (result i32) - ;;@ assembly/buddy.ts:97:9 + ;;@ assembly/buddy.ts:101:9 (i32.add - ;;@ assembly/buddy.ts:97:26 + ;;@ assembly/buddy.ts:101:26 (get_global $assembly/buddy/BUCKETS_START) - ;;@ assembly/buddy.ts:97:42 + ;;@ assembly/buddy.ts:101:42 (i32.shl (get_local $0) - ;;@ assembly/buddy.ts:97:50 + ;;@ assembly/buddy.ts:101:50 (i32.const 3) ) ) ) (func $assembly/buddy/list_init (; 2 ;) (type $iv) (param $0 i32) - ;;@ assembly/buddy.ts:192:2 + ;;@ assembly/buddy.ts:196:2 (i32.store (get_local $0) - ;;@ assembly/buddy.ts:192:14 + ;;@ assembly/buddy.ts:196:14 (get_local $0) ) - ;;@ assembly/buddy.ts:193:2 + ;;@ assembly/buddy.ts:197:2 (i32.store offset=4 (get_local $0) - ;;@ assembly/buddy.ts:193:14 + ;;@ assembly/buddy.ts:197:14 (get_local $0) ) ) (func $assembly/buddy/list_push (; 3 ;) (type $iiv) (param $0 i32) (param $1 i32) (local $2 i32) - ;;@ assembly/buddy.ts:202:2 + ;;@ assembly/buddy.ts:206:2 (i32.store (get_local $1) - ;;@ assembly/buddy.ts:201:2 + ;;@ assembly/buddy.ts:205:2 (tee_local $2 - ;;@ assembly/buddy.ts:201:13 + ;;@ assembly/buddy.ts:205:13 (i32.load (get_local $0) ) ) ) - ;;@ assembly/buddy.ts:203:2 + ;;@ assembly/buddy.ts:207:2 (i32.store offset=4 (get_local $1) - ;;@ assembly/buddy.ts:203:15 + ;;@ assembly/buddy.ts:207:15 (get_local $0) ) - ;;@ assembly/buddy.ts:204:2 + ;;@ assembly/buddy.ts:208:2 (i32.store offset=4 (get_local $2) - ;;@ assembly/buddy.ts:204:14 + ;;@ assembly/buddy.ts:208:14 (get_local $1) ) - ;;@ assembly/buddy.ts:205:2 + ;;@ assembly/buddy.ts:209:2 (i32.store (get_local $0) - ;;@ assembly/buddy.ts:205:14 + ;;@ assembly/buddy.ts:209:14 (get_local $1) ) ) (func $assembly/buddy/bucket_for_request (; 4 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - ;;@ assembly/buddy.ts:274:2 + ;;@ assembly/buddy.ts:278:2 (set_local $1 - ;;@ assembly/buddy.ts:274:15 + ;;@ assembly/buddy.ts:278:15 (i32.const 27) ) - ;;@ assembly/buddy.ts:275:2 + ;;@ assembly/buddy.ts:279:2 (set_local $2 - ;;@ assembly/buddy.ts:275:13 + ;;@ assembly/buddy.ts:279:13 (i32.const 16) ) (loop $continue|0 (if - ;;@ assembly/buddy.ts:277:9 + ;;@ assembly/buddy.ts:281:9 (i32.lt_u (get_local $2) - ;;@ assembly/buddy.ts:277:16 + ;;@ assembly/buddy.ts:281:16 (get_local $0) ) (block - ;;@ assembly/buddy.ts:278:4 + ;;@ assembly/buddy.ts:282:4 (set_local $1 (i32.sub (get_local $1) (i32.const 1) ) ) - ;;@ assembly/buddy.ts:279:4 + ;;@ assembly/buddy.ts:283:4 (set_local $2 (i32.shl (get_local $2) - ;;@ assembly/buddy.ts:279:12 + ;;@ assembly/buddy.ts:283:12 (i32.const 1) ) ) @@ -181,143 +181,143 @@ ) ) ) - ;;@ assembly/buddy.ts:282:9 + ;;@ assembly/buddy.ts:286:9 (get_local $1) ) (func $assembly/buddy/node_for_ptr (; 5 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - ;;@ assembly/buddy.ts:247:9 + ;;@ assembly/buddy.ts:251:9 (i32.sub (i32.add (i32.shr_u - ;;@ assembly/buddy.ts:247:10 + ;;@ assembly/buddy.ts:251:10 (i32.sub - ;;@ assembly/buddy.ts:247:11 + ;;@ assembly/buddy.ts:251:11 (get_local $0) - ;;@ assembly/buddy.ts:247:17 + ;;@ assembly/buddy.ts:251:17 (get_global $assembly/buddy/base_ptr) ) - ;;@ assembly/buddy.ts:247:30 + ;;@ assembly/buddy.ts:251:30 (i32.sub - ;;@ assembly/buddy.ts:247:31 + ;;@ assembly/buddy.ts:251:31 (i32.const 31) - ;;@ assembly/buddy.ts:247:48 + ;;@ assembly/buddy.ts:251:48 (get_local $1) ) ) - ;;@ assembly/buddy.ts:247:59 + ;;@ assembly/buddy.ts:251:59 (i32.shl - ;;@ assembly/buddy.ts:247:60 + ;;@ assembly/buddy.ts:251:60 (i32.const 1) - ;;@ assembly/buddy.ts:247:65 + ;;@ assembly/buddy.ts:251:65 (get_local $1) ) ) - ;;@ assembly/buddy.ts:247:75 + ;;@ assembly/buddy.ts:251:75 (i32.const 1) ) ) (func $assembly/buddy/node_is_split$get (; 6 ;) (type $ii) (param $0 i32) (result i32) - ;;@ assembly/buddy.ts:143:9 + ;;@ assembly/buddy.ts:147:9 (i32.load8_u - ;;@ assembly/buddy.ts:143:18 + ;;@ assembly/buddy.ts:147:18 (i32.add (get_global $assembly/buddy/NODE_IS_SPLIT_START) - ;;@ assembly/buddy.ts:143:40 + ;;@ assembly/buddy.ts:147:40 (get_local $0) ) ) ) (func $assembly/buddy/parent_is_split (; 7 ;) (type $ii) (param $0 i32) (result i32) - ;;@ assembly/buddy.ts:255:9 + ;;@ assembly/buddy.ts:259:9 (i32.and (i32.shr_u - ;;@ assembly/buddy.ts:255:10 + ;;@ assembly/buddy.ts:259:10 (call $assembly/buddy/node_is_split$get - ;;@ assembly/buddy.ts:255:28 + ;;@ assembly/buddy.ts:259:28 (i32.div_u - ;;@ assembly/buddy.ts:254:2 + ;;@ assembly/buddy.ts:258:2 (tee_local $0 - ;;@ assembly/buddy.ts:254:10 + ;;@ assembly/buddy.ts:258:10 (i32.div_u (i32.sub - ;;@ assembly/buddy.ts:254:11 + ;;@ assembly/buddy.ts:258:11 (get_local $0) - ;;@ assembly/buddy.ts:254:19 + ;;@ assembly/buddy.ts:258:19 (i32.const 1) ) - ;;@ assembly/buddy.ts:254:24 + ;;@ assembly/buddy.ts:258:24 (i32.const 2) ) ) - ;;@ assembly/buddy.ts:255:36 + ;;@ assembly/buddy.ts:259:36 (i32.const 8) ) ) - ;;@ assembly/buddy.ts:255:43 + ;;@ assembly/buddy.ts:259:43 (i32.and - ;;@ assembly/buddy.ts:255:49 + ;;@ assembly/buddy.ts:259:49 (get_local $0) - ;;@ assembly/buddy.ts:255:57 + ;;@ assembly/buddy.ts:259:57 (i32.const 7) ) ) - ;;@ assembly/buddy.ts:255:63 + ;;@ assembly/buddy.ts:259:63 (i32.const 1) ) ) (func $assembly/buddy/list_remove (; 8 ;) (type $iv) (param $0 i32) (local $1 i32) - ;;@ assembly/buddy.ts:217:2 + ;;@ assembly/buddy.ts:221:2 (i32.store offset=4 - ;;@ assembly/buddy.ts:215:2 + ;;@ assembly/buddy.ts:219:2 (tee_local $1 - ;;@ assembly/buddy.ts:215:13 + ;;@ assembly/buddy.ts:219:13 (i32.load (get_local $0) ) ) - ;;@ assembly/buddy.ts:216:2 + ;;@ assembly/buddy.ts:220:2 (tee_local $0 - ;;@ assembly/buddy.ts:216:13 + ;;@ assembly/buddy.ts:220:13 (i32.load offset=4 (get_local $0) ) ) ) - ;;@ assembly/buddy.ts:218:2 + ;;@ assembly/buddy.ts:222:2 (i32.store (get_local $0) - ;;@ assembly/buddy.ts:218:14 + ;;@ assembly/buddy.ts:222:14 (get_local $1) ) ) (func $assembly/buddy/ptr_for_node (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - ;;@ assembly/buddy.ts:238:9 + ;;@ assembly/buddy.ts:242:9 (i32.add (get_global $assembly/buddy/base_ptr) - ;;@ assembly/buddy.ts:238:20 + ;;@ assembly/buddy.ts:242:20 (i32.shl - ;;@ assembly/buddy.ts:238:21 + ;;@ assembly/buddy.ts:242:21 (i32.add - ;;@ assembly/buddy.ts:238:22 + ;;@ assembly/buddy.ts:242:22 (i32.sub (get_local $0) - ;;@ assembly/buddy.ts:238:30 + ;;@ assembly/buddy.ts:242:30 (i32.shl - ;;@ assembly/buddy.ts:238:31 + ;;@ assembly/buddy.ts:242:31 (i32.const 1) - ;;@ assembly/buddy.ts:238:36 + ;;@ assembly/buddy.ts:242:36 (get_local $1) ) ) - ;;@ assembly/buddy.ts:238:46 + ;;@ assembly/buddy.ts:242:46 (i32.const 1) ) - ;;@ assembly/buddy.ts:238:52 + ;;@ assembly/buddy.ts:242:52 (i32.sub - ;;@ assembly/buddy.ts:238:53 + ;;@ assembly/buddy.ts:242:53 (i32.const 31) - ;;@ assembly/buddy.ts:238:70 + ;;@ assembly/buddy.ts:242:70 (get_local $1) ) ) @@ -327,45 +327,45 @@ (local $1 i32) (local $2 i32) (set_local $2 - ;;@ assembly/buddy.ts:263:2 + ;;@ assembly/buddy.ts:267:2 (tee_local $1 - ;;@ assembly/buddy.ts:263:18 + ;;@ assembly/buddy.ts:267:18 (i32.div_u - ;;@ assembly/buddy.ts:262:2 + ;;@ assembly/buddy.ts:266:2 (tee_local $0 - ;;@ assembly/buddy.ts:262:10 + ;;@ assembly/buddy.ts:266:10 (i32.div_u (i32.sub - ;;@ assembly/buddy.ts:262:11 + ;;@ assembly/buddy.ts:266:11 (get_local $0) - ;;@ assembly/buddy.ts:262:19 + ;;@ assembly/buddy.ts:266:19 (i32.const 1) ) - ;;@ assembly/buddy.ts:262:24 + ;;@ assembly/buddy.ts:266:24 (i32.const 2) ) ) - ;;@ assembly/buddy.ts:263:26 + ;;@ assembly/buddy.ts:267:26 (i32.const 8) ) ) ) (set_local $0 - ;;@ assembly/buddy.ts:265:4 + ;;@ assembly/buddy.ts:269:4 (i32.xor (call $assembly/buddy/node_is_split$get - ;;@ assembly/buddy.ts:265:22 + ;;@ assembly/buddy.ts:269:22 (get_local $1) ) - ;;@ assembly/buddy.ts:265:35 + ;;@ assembly/buddy.ts:269:35 (i32.shl - ;;@ assembly/buddy.ts:265:41 + ;;@ assembly/buddy.ts:269:41 (i32.const 1) - ;;@ assembly/buddy.ts:265:46 + ;;@ assembly/buddy.ts:269:46 (i32.and - ;;@ assembly/buddy.ts:265:47 + ;;@ assembly/buddy.ts:269:47 (get_local $0) - ;;@ assembly/buddy.ts:265:55 + ;;@ assembly/buddy.ts:269:55 (i32.const 7) ) ) @@ -384,47 +384,47 @@ (local $2 i32) (loop $continue|0 (if - ;;@ assembly/buddy.ts:291:9 + ;;@ assembly/buddy.ts:295:9 (i32.lt_u (get_local $0) - ;;@ assembly/buddy.ts:291:18 + ;;@ assembly/buddy.ts:295:18 (get_global $assembly/buddy/bucket_limit) ) (block - ;;@ assembly/buddy.ts:301:4 + ;;@ assembly/buddy.ts:305:4 (if - ;;@ assembly/buddy.ts:301:8 + ;;@ assembly/buddy.ts:305:8 (i32.eqz - ;;@ assembly/buddy.ts:301:9 + ;;@ assembly/buddy.ts:305:9 (call $assembly/buddy/parent_is_split - ;;@ assembly/buddy.ts:292:4 + ;;@ assembly/buddy.ts:296:4 (tee_local $1 - ;;@ assembly/buddy.ts:292:15 + ;;@ assembly/buddy.ts:296:15 (call $assembly/buddy/node_for_ptr - ;;@ assembly/buddy.ts:292:28 + ;;@ assembly/buddy.ts:296:28 (get_global $assembly/buddy/base_ptr) - ;;@ assembly/buddy.ts:292:38 + ;;@ assembly/buddy.ts:296:38 (get_global $assembly/buddy/bucket_limit) ) ) ) ) - ;;@ assembly/buddy.ts:301:32 + ;;@ assembly/buddy.ts:305:32 (block - ;;@ assembly/buddy.ts:302:6 + ;;@ assembly/buddy.ts:306:6 (call $assembly/buddy/list_remove - ;;@ assembly/buddy.ts:302:18 + ;;@ assembly/buddy.ts:306:18 (get_global $assembly/buddy/base_ptr) ) - ;;@ assembly/buddy.ts:303:6 + ;;@ assembly/buddy.ts:307:6 (call $assembly/buddy/list_init - ;;@ assembly/buddy.ts:303:16 + ;;@ assembly/buddy.ts:307:16 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:303:28 + ;;@ assembly/buddy.ts:307:28 (block (result i32) (set_global $assembly/buddy/bucket_limit (i32.sub - ;;@ assembly/buddy.ts:303:30 + ;;@ assembly/buddy.ts:307:30 (get_global $assembly/buddy/bucket_limit) (i32.const 1) ) @@ -433,71 +433,71 @@ ) ) ) - ;;@ assembly/buddy.ts:304:6 + ;;@ assembly/buddy.ts:308:6 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:304:16 + ;;@ assembly/buddy.ts:308:16 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:304:28 + ;;@ assembly/buddy.ts:308:28 (get_global $assembly/buddy/bucket_limit) ) - ;;@ assembly/buddy.ts:304:43 + ;;@ assembly/buddy.ts:308:43 (get_global $assembly/buddy/base_ptr) ) - ;;@ assembly/buddy.ts:305:6 + ;;@ assembly/buddy.ts:309:6 (br $continue|0) ) ) - ;;@ assembly/buddy.ts:317:4 + ;;@ assembly/buddy.ts:321:4 (if - ;;@ assembly/buddy.ts:317:8 + ;;@ assembly/buddy.ts:321:8 (i32.eqz - ;;@ assembly/buddy.ts:317:9 + ;;@ assembly/buddy.ts:321:9 (call $assembly/buddy/update_max_ptr - ;;@ assembly/buddy.ts:317:24 + ;;@ assembly/buddy.ts:321:24 (i32.add - ;;@ assembly/buddy.ts:316:4 + ;;@ assembly/buddy.ts:320:4 (tee_local $2 - ;;@ assembly/buddy.ts:316:18 + ;;@ assembly/buddy.ts:320:18 (call $assembly/buddy/ptr_for_node - ;;@ assembly/buddy.ts:316:31 + ;;@ assembly/buddy.ts:320:31 (i32.add (get_local $1) - ;;@ assembly/buddy.ts:316:38 + ;;@ assembly/buddy.ts:320:38 (i32.const 1) ) - ;;@ assembly/buddy.ts:316:41 + ;;@ assembly/buddy.ts:320:41 (get_global $assembly/buddy/bucket_limit) ) ) - ;;@ assembly/buddy.ts:317:38 + ;;@ assembly/buddy.ts:321:38 (i32.const 8) ) ) ) - ;;@ assembly/buddy.ts:318:13 + ;;@ assembly/buddy.ts:322:13 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:320:4 + ;;@ assembly/buddy.ts:324:4 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:320:14 + ;;@ assembly/buddy.ts:324:14 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:320:26 + ;;@ assembly/buddy.ts:324:26 (get_global $assembly/buddy/bucket_limit) ) - ;;@ assembly/buddy.ts:320:41 + ;;@ assembly/buddy.ts:324:41 (get_local $2) ) - ;;@ assembly/buddy.ts:321:4 + ;;@ assembly/buddy.ts:325:4 (call $assembly/buddy/list_init - ;;@ assembly/buddy.ts:321:14 + ;;@ assembly/buddy.ts:325:14 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:321:26 + ;;@ assembly/buddy.ts:325:26 (block (result i32) (set_global $assembly/buddy/bucket_limit (i32.sub - ;;@ assembly/buddy.ts:321:28 + ;;@ assembly/buddy.ts:325:28 (get_global $assembly/buddy/bucket_limit) (i32.const 1) ) @@ -506,25 +506,25 @@ ) ) ) - ;;@ assembly/buddy.ts:328:4 + ;;@ assembly/buddy.ts:332:4 (if - ;;@ assembly/buddy.ts:327:4 + ;;@ assembly/buddy.ts:331:4 (tee_local $1 - ;;@ assembly/buddy.ts:327:11 + ;;@ assembly/buddy.ts:331:11 (i32.div_u (i32.sub - ;;@ assembly/buddy.ts:327:12 + ;;@ assembly/buddy.ts:331:12 (get_local $1) - ;;@ assembly/buddy.ts:327:19 + ;;@ assembly/buddy.ts:331:19 (i32.const 1) ) - ;;@ assembly/buddy.ts:327:24 + ;;@ assembly/buddy.ts:331:24 (i32.const 2) ) ) - ;;@ assembly/buddy.ts:329:6 + ;;@ assembly/buddy.ts:333:6 (call $assembly/buddy/flip_parent_is_split - ;;@ assembly/buddy.ts:329:27 + ;;@ assembly/buddy.ts:333:27 (get_local $1) ) ) @@ -532,36 +532,36 @@ ) ) ) - ;;@ assembly/buddy.ts:333:9 + ;;@ assembly/buddy.ts:337:9 (i32.const 1) ) (func $assembly/buddy/list_pop (; 12 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) - ;;@ assembly/buddy.ts:226:2 + ;;@ assembly/buddy.ts:230:2 (if - ;;@ assembly/buddy.ts:226:6 + ;;@ assembly/buddy.ts:230:6 (i32.eq - ;;@ assembly/buddy.ts:225:2 + ;;@ assembly/buddy.ts:229:2 (tee_local $1 - ;;@ assembly/buddy.ts:225:13 + ;;@ assembly/buddy.ts:229:13 (i32.load (get_local $0) ) ) - ;;@ assembly/buddy.ts:226:14 + ;;@ assembly/buddy.ts:230:14 (get_local $0) ) - ;;@ assembly/buddy.ts:226:27 + ;;@ assembly/buddy.ts:230:27 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:227:2 + ;;@ assembly/buddy.ts:231:2 (call $assembly/buddy/list_remove - ;;@ assembly/buddy.ts:227:14 + ;;@ assembly/buddy.ts:231:14 (get_local $1) ) - ;;@ assembly/buddy.ts:228:9 + ;;@ assembly/buddy.ts:232:9 (get_local $1) ) (func $assembly/buddy/allocate_memory (; 13 ;) (type $ii) (param $0 i32) (result i32) @@ -569,107 +569,107 @@ (local $2 i32) (local $3 i32) (local $4 i32) - ;;@ assembly/buddy.ts:345:2 + ;;@ assembly/buddy.ts:349:2 (if - ;;@ assembly/buddy.ts:345:6 + ;;@ assembly/buddy.ts:349:6 (i32.gt_u (i32.add (get_local $0) - ;;@ assembly/buddy.ts:345:16 + ;;@ assembly/buddy.ts:349:16 (i32.const 8) ) - ;;@ assembly/buddy.ts:345:30 + ;;@ assembly/buddy.ts:349:30 (i32.const -2147483648) ) - ;;@ assembly/buddy.ts:346:11 + ;;@ assembly/buddy.ts:350:11 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:354:2 + ;;@ assembly/buddy.ts:358:2 (if (i32.eqz - ;;@ assembly/buddy.ts:354:6 + ;;@ assembly/buddy.ts:358:6 (get_global $assembly/buddy/base_ptr) ) - ;;@ assembly/buddy.ts:354:21 + ;;@ assembly/buddy.ts:358:21 (block - ;;@ assembly/buddy.ts:356:4 + ;;@ assembly/buddy.ts:360:4 (set_global $assembly/buddy/base_ptr - ;;@ assembly/buddy.ts:356:15 + ;;@ assembly/buddy.ts:360:15 (i32.and (i32.add - ;;@ assembly/buddy.ts:356:16 + ;;@ assembly/buddy.ts:360:16 (get_global $assembly/buddy/NODE_IS_SPLIT_END) - ;;@ assembly/buddy.ts:356:36 + ;;@ assembly/buddy.ts:360:36 (i32.const 7) ) (i32.const -8) ) ) - ;;@ assembly/buddy.ts:357:4 + ;;@ assembly/buddy.ts:361:4 (set_global $assembly/buddy/max_ptr - ;;@ assembly/buddy.ts:357:14 + ;;@ assembly/buddy.ts:361:14 (i32.shl (current_memory) - ;;@ assembly/buddy.ts:357:41 + ;;@ assembly/buddy.ts:361:41 (i32.const 16) ) ) - ;;@ assembly/buddy.ts:358:4 + ;;@ assembly/buddy.ts:362:4 (set_global $assembly/buddy/bucket_limit - ;;@ assembly/buddy.ts:358:19 + ;;@ assembly/buddy.ts:362:19 (i32.const 27) ) - ;;@ assembly/buddy.ts:359:4 + ;;@ assembly/buddy.ts:363:4 (if - ;;@ assembly/buddy.ts:359:8 + ;;@ assembly/buddy.ts:363:8 (i32.eqz - ;;@ assembly/buddy.ts:359:9 + ;;@ assembly/buddy.ts:363:9 (call $assembly/buddy/update_max_ptr - ;;@ assembly/buddy.ts:359:24 + ;;@ assembly/buddy.ts:363:24 (i32.add (get_global $assembly/buddy/base_ptr) - ;;@ assembly/buddy.ts:359:35 + ;;@ assembly/buddy.ts:363:35 (i32.const 8) ) ) ) - ;;@ assembly/buddy.ts:360:13 + ;;@ assembly/buddy.ts:364:13 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:362:4 + ;;@ assembly/buddy.ts:366:4 (call $assembly/buddy/list_init - ;;@ assembly/buddy.ts:362:14 + ;;@ assembly/buddy.ts:366:14 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:362:26 + ;;@ assembly/buddy.ts:366:26 (i32.const 27) ) ) - ;;@ assembly/buddy.ts:363:4 + ;;@ assembly/buddy.ts:367:4 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:363:14 + ;;@ assembly/buddy.ts:367:14 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:363:26 + ;;@ assembly/buddy.ts:367:26 (i32.const 27) ) - ;;@ assembly/buddy.ts:363:45 + ;;@ assembly/buddy.ts:367:45 (get_global $assembly/buddy/base_ptr) ) ) ) - ;;@ assembly/buddy.ts:371:2 + ;;@ assembly/buddy.ts:375:2 (set_local $4 - ;;@ assembly/buddy.ts:370:2 + ;;@ assembly/buddy.ts:374:2 (tee_local $1 - ;;@ assembly/buddy.ts:370:11 + ;;@ assembly/buddy.ts:374:11 (call $assembly/buddy/bucket_for_request - ;;@ assembly/buddy.ts:370:30 + ;;@ assembly/buddy.ts:374:30 (i32.add (get_local $0) - ;;@ assembly/buddy.ts:370:40 + ;;@ assembly/buddy.ts:374:40 (i32.const 8) ) ) @@ -677,224 +677,224 @@ ) (loop $continue|0 (if - ;;@ assembly/buddy.ts:378:9 + ;;@ assembly/buddy.ts:382:9 (i32.add (get_local $1) - ;;@ assembly/buddy.ts:378:18 + ;;@ assembly/buddy.ts:382:18 (i32.const 1) ) - ;;@ assembly/buddy.ts:378:26 + ;;@ assembly/buddy.ts:382:26 (block - ;;@ assembly/buddy.ts:386:4 + ;;@ assembly/buddy.ts:390:4 (if - ;;@ assembly/buddy.ts:386:8 + ;;@ assembly/buddy.ts:390:8 (i32.eqz - ;;@ assembly/buddy.ts:386:9 + ;;@ assembly/buddy.ts:390:9 (call $assembly/buddy/lower_bucket_limit - ;;@ assembly/buddy.ts:386:28 + ;;@ assembly/buddy.ts:390:28 (get_local $1) ) ) - ;;@ assembly/buddy.ts:387:13 + ;;@ assembly/buddy.ts:391:13 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:395:4 + ;;@ assembly/buddy.ts:399:4 (if - ;;@ assembly/buddy.ts:395:8 + ;;@ assembly/buddy.ts:399:8 (i32.eqz - ;;@ assembly/buddy.ts:394:4 + ;;@ assembly/buddy.ts:398:4 (tee_local $2 - ;;@ assembly/buddy.ts:394:10 + ;;@ assembly/buddy.ts:398:10 (call $assembly/buddy/list_pop - ;;@ assembly/buddy.ts:394:37 + ;;@ assembly/buddy.ts:398:37 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:394:49 + ;;@ assembly/buddy.ts:398:49 (get_local $1) ) ) ) ) - ;;@ assembly/buddy.ts:395:14 + ;;@ assembly/buddy.ts:399:14 (block - ;;@ assembly/buddy.ts:400:6 + ;;@ assembly/buddy.ts:404:6 (if - ;;@ assembly/buddy.ts:400:10 + ;;@ assembly/buddy.ts:404:10 (i32.and (if (result i32) (tee_local $2 (i32.ne (get_local $1) - ;;@ assembly/buddy.ts:400:20 + ;;@ assembly/buddy.ts:404:20 (get_global $assembly/buddy/bucket_limit) ) ) (get_local $2) (i32.eqz - ;;@ assembly/buddy.ts:400:36 + ;;@ assembly/buddy.ts:404:36 (get_local $1) ) ) (i32.const 1) ) - ;;@ assembly/buddy.ts:400:49 + ;;@ assembly/buddy.ts:404:49 (block - ;;@ assembly/buddy.ts:401:8 + ;;@ assembly/buddy.ts:405:8 (set_local $1 (i32.sub (get_local $1) (i32.const 1) ) ) - ;;@ assembly/buddy.ts:402:8 + ;;@ assembly/buddy.ts:406:8 (br $continue|0) ) ) - ;;@ assembly/buddy.ts:412:6 + ;;@ assembly/buddy.ts:416:6 (if - ;;@ assembly/buddy.ts:412:10 + ;;@ assembly/buddy.ts:416:10 (i32.eqz - ;;@ assembly/buddy.ts:412:11 + ;;@ assembly/buddy.ts:416:11 (call $assembly/buddy/lower_bucket_limit - ;;@ assembly/buddy.ts:412:30 + ;;@ assembly/buddy.ts:416:30 (i32.sub (get_local $1) - ;;@ assembly/buddy.ts:412:39 + ;;@ assembly/buddy.ts:416:39 (i32.const 1) ) ) ) - ;;@ assembly/buddy.ts:413:15 + ;;@ assembly/buddy.ts:417:15 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:415:6 + ;;@ assembly/buddy.ts:419:6 (set_local $2 - ;;@ assembly/buddy.ts:415:12 + ;;@ assembly/buddy.ts:419:12 (call $assembly/buddy/list_pop - ;;@ assembly/buddy.ts:415:39 + ;;@ assembly/buddy.ts:419:39 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:415:51 + ;;@ assembly/buddy.ts:419:51 (get_local $1) ) ) ) ) ) - ;;@ assembly/buddy.ts:422:4 + ;;@ assembly/buddy.ts:426:4 (set_local $3 - ;;@ assembly/buddy.ts:422:11 + ;;@ assembly/buddy.ts:426:11 (i32.shl (i32.const 1) - ;;@ assembly/buddy.ts:422:16 + ;;@ assembly/buddy.ts:426:16 (i32.sub - ;;@ assembly/buddy.ts:422:17 + ;;@ assembly/buddy.ts:426:17 (i32.const 31) - ;;@ assembly/buddy.ts:422:34 + ;;@ assembly/buddy.ts:426:34 (get_local $1) ) ) ) - ;;@ assembly/buddy.ts:424:4 + ;;@ assembly/buddy.ts:428:4 (if - ;;@ assembly/buddy.ts:424:8 + ;;@ assembly/buddy.ts:428:8 (i32.eqz - ;;@ assembly/buddy.ts:424:9 + ;;@ assembly/buddy.ts:428:9 (call $assembly/buddy/update_max_ptr - ;;@ assembly/buddy.ts:424:24 + ;;@ assembly/buddy.ts:428:24 (i32.add (get_local $2) - ;;@ assembly/buddy.ts:423:19 + ;;@ assembly/buddy.ts:427:19 (if (result i32) (i32.lt_u (get_local $1) - ;;@ assembly/buddy.ts:423:28 + ;;@ assembly/buddy.ts:427:28 (get_local $4) ) - ;;@ assembly/buddy.ts:423:46 + ;;@ assembly/buddy.ts:427:46 (i32.add (i32.div_u (get_local $3) - ;;@ assembly/buddy.ts:423:53 + ;;@ assembly/buddy.ts:427:53 (i32.const 2) ) - ;;@ assembly/buddy.ts:423:57 + ;;@ assembly/buddy.ts:427:57 (i32.const 8) ) - ;;@ assembly/buddy.ts:423:69 + ;;@ assembly/buddy.ts:427:69 (get_local $3) ) ) ) ) - ;;@ assembly/buddy.ts:424:45 + ;;@ assembly/buddy.ts:428:45 (block - ;;@ assembly/buddy.ts:425:6 + ;;@ assembly/buddy.ts:429:6 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:425:16 + ;;@ assembly/buddy.ts:429:16 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:425:28 + ;;@ assembly/buddy.ts:429:28 (get_local $1) ) - ;;@ assembly/buddy.ts:425:37 + ;;@ assembly/buddy.ts:429:37 (get_local $2) ) - ;;@ assembly/buddy.ts:426:13 + ;;@ assembly/buddy.ts:430:13 (return (i32.const 0) ) ) ) - ;;@ assembly/buddy.ts:441:4 + ;;@ assembly/buddy.ts:445:4 (if - ;;@ assembly/buddy.ts:440:4 + ;;@ assembly/buddy.ts:444:4 (tee_local $3 - ;;@ assembly/buddy.ts:440:8 + ;;@ assembly/buddy.ts:444:8 (call $assembly/buddy/node_for_ptr - ;;@ assembly/buddy.ts:440:21 + ;;@ assembly/buddy.ts:444:21 (get_local $2) - ;;@ assembly/buddy.ts:440:26 + ;;@ assembly/buddy.ts:444:26 (get_local $1) ) ) - ;;@ assembly/buddy.ts:442:6 + ;;@ assembly/buddy.ts:446:6 (call $assembly/buddy/flip_parent_is_split - ;;@ assembly/buddy.ts:442:27 + ;;@ assembly/buddy.ts:446:27 (get_local $3) ) ) (loop $continue|1 (if - ;;@ assembly/buddy.ts:452:11 + ;;@ assembly/buddy.ts:456:11 (i32.lt_u (get_local $1) - ;;@ assembly/buddy.ts:452:20 + ;;@ assembly/buddy.ts:456:20 (get_local $4) ) (block - ;;@ assembly/buddy.ts:455:6 + ;;@ assembly/buddy.ts:459:6 (call $assembly/buddy/flip_parent_is_split - ;;@ assembly/buddy.ts:453:6 + ;;@ assembly/buddy.ts:457:6 (tee_local $3 - ;;@ assembly/buddy.ts:453:10 + ;;@ assembly/buddy.ts:457:10 (i32.add (i32.shl (get_local $3) - ;;@ assembly/buddy.ts:453:14 + ;;@ assembly/buddy.ts:457:14 (i32.const 1) ) - ;;@ assembly/buddy.ts:453:18 + ;;@ assembly/buddy.ts:457:18 (i32.const 1) ) ) ) - ;;@ assembly/buddy.ts:456:6 + ;;@ assembly/buddy.ts:460:6 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:457:8 + ;;@ assembly/buddy.ts:461:8 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:454:6 + ;;@ assembly/buddy.ts:458:6 (tee_local $1 (i32.add (get_local $1) @@ -902,15 +902,15 @@ ) ) ) - ;;@ assembly/buddy.ts:458:8 + ;;@ assembly/buddy.ts:462:8 (call $assembly/buddy/ptr_for_node - ;;@ assembly/buddy.ts:458:38 + ;;@ assembly/buddy.ts:462:38 (i32.add (get_local $3) - ;;@ assembly/buddy.ts:458:42 + ;;@ assembly/buddy.ts:462:42 (i32.const 1) ) - ;;@ assembly/buddy.ts:458:45 + ;;@ assembly/buddy.ts:462:45 (get_local $1) ) ) @@ -918,143 +918,143 @@ ) ) ) - ;;@ assembly/buddy.ts:466:4 + ;;@ assembly/buddy.ts:470:4 (i32.store - ;;@ assembly/buddy.ts:466:17 + ;;@ assembly/buddy.ts:470:17 (get_local $2) - ;;@ assembly/buddy.ts:466:22 + ;;@ assembly/buddy.ts:470:22 (get_local $0) ) - ;;@ assembly/buddy.ts:467:17 + ;;@ assembly/buddy.ts:471:17 (return - ;;@ assembly/buddy.ts:467:11 + ;;@ assembly/buddy.ts:471:11 (i32.add (get_local $2) - ;;@ assembly/buddy.ts:467:17 + ;;@ assembly/buddy.ts:471:17 (i32.const 8) ) ) ) ) ) - ;;@ assembly/buddy.ts:470:9 + ;;@ assembly/buddy.ts:474:9 (i32.const 0) ) (func $assembly/buddy/free_memory (; 14 ;) (type $iv) (param $0 i32) (local $1 i32) (local $2 i32) - ;;@ assembly/buddy.ts:480:2 + ;;@ assembly/buddy.ts:484:2 (if - ;;@ assembly/buddy.ts:480:6 + ;;@ assembly/buddy.ts:484:6 (i32.eqz - ;;@ assembly/buddy.ts:480:7 + ;;@ assembly/buddy.ts:484:7 (get_local $0) ) - ;;@ assembly/buddy.ts:481:4 + ;;@ assembly/buddy.ts:485:4 (return) ) - ;;@ assembly/buddy.ts:490:2 + ;;@ assembly/buddy.ts:494:2 (set_local $1 - ;;@ assembly/buddy.ts:490:11 + ;;@ assembly/buddy.ts:494:11 (call $assembly/buddy/bucket_for_request - ;;@ assembly/buddy.ts:490:30 + ;;@ assembly/buddy.ts:494:30 (i32.add (i32.load - ;;@ assembly/buddy.ts:489:2 + ;;@ assembly/buddy.ts:493:2 (tee_local $0 - ;;@ assembly/buddy.ts:489:8 + ;;@ assembly/buddy.ts:493:8 (i32.sub (get_local $0) - ;;@ assembly/buddy.ts:489:14 + ;;@ assembly/buddy.ts:493:14 (i32.const 8) ) ) ) - ;;@ assembly/buddy.ts:490:49 + ;;@ assembly/buddy.ts:494:49 (i32.const 8) ) ) ) - ;;@ assembly/buddy.ts:491:2 + ;;@ assembly/buddy.ts:495:2 (set_local $0 - ;;@ assembly/buddy.ts:491:6 + ;;@ assembly/buddy.ts:495:6 (call $assembly/buddy/node_for_ptr - ;;@ assembly/buddy.ts:491:19 + ;;@ assembly/buddy.ts:495:19 (get_local $0) - ;;@ assembly/buddy.ts:491:24 + ;;@ assembly/buddy.ts:495:24 (get_local $1) ) ) - ;;@ assembly/buddy.ts:497:2 + ;;@ assembly/buddy.ts:501:2 (block $break|0 (loop $continue|0 (if - ;;@ assembly/buddy.ts:497:9 + ;;@ assembly/buddy.ts:501:9 (get_local $0) (block - ;;@ assembly/buddy.ts:504:4 + ;;@ assembly/buddy.ts:508:4 (call $assembly/buddy/flip_parent_is_split - ;;@ assembly/buddy.ts:504:25 + ;;@ assembly/buddy.ts:508:25 (get_local $0) ) - ;;@ assembly/buddy.ts:515:6 + ;;@ assembly/buddy.ts:519:6 (br_if $break|0 - ;;@ assembly/buddy.ts:514:8 + ;;@ assembly/buddy.ts:518:8 (if (result i32) (tee_local $2 (call $assembly/buddy/parent_is_split - ;;@ assembly/buddy.ts:514:24 + ;;@ assembly/buddy.ts:518:24 (get_local $0) ) ) (get_local $2) - ;;@ assembly/buddy.ts:514:30 + ;;@ assembly/buddy.ts:518:30 (i32.eq (get_local $1) - ;;@ assembly/buddy.ts:514:40 + ;;@ assembly/buddy.ts:518:40 (get_global $assembly/buddy/bucket_limit) ) ) ) - ;;@ assembly/buddy.ts:525:4 + ;;@ assembly/buddy.ts:529:4 (call $assembly/buddy/list_remove - ;;@ assembly/buddy.ts:525:16 + ;;@ assembly/buddy.ts:529:16 (call $assembly/buddy/ptr_for_node - ;;@ assembly/buddy.ts:525:46 + ;;@ assembly/buddy.ts:529:46 (i32.add (i32.xor - ;;@ assembly/buddy.ts:525:47 + ;;@ assembly/buddy.ts:529:47 (i32.sub - ;;@ assembly/buddy.ts:525:48 + ;;@ assembly/buddy.ts:529:48 (get_local $0) - ;;@ assembly/buddy.ts:525:52 + ;;@ assembly/buddy.ts:529:52 (i32.const 1) ) - ;;@ assembly/buddy.ts:525:57 + ;;@ assembly/buddy.ts:529:57 (i32.const 1) ) - ;;@ assembly/buddy.ts:525:62 + ;;@ assembly/buddy.ts:529:62 (i32.const 1) ) - ;;@ assembly/buddy.ts:525:65 + ;;@ assembly/buddy.ts:529:65 (get_local $1) ) ) - ;;@ assembly/buddy.ts:526:4 + ;;@ assembly/buddy.ts:530:4 (set_local $0 - ;;@ assembly/buddy.ts:526:8 + ;;@ assembly/buddy.ts:530:8 (i32.div_u (i32.sub - ;;@ assembly/buddy.ts:526:9 + ;;@ assembly/buddy.ts:530:9 (get_local $0) - ;;@ assembly/buddy.ts:526:13 + ;;@ assembly/buddy.ts:530:13 (i32.const 1) ) - ;;@ assembly/buddy.ts:526:18 + ;;@ assembly/buddy.ts:530:18 (i32.const 2) ) ) - ;;@ assembly/buddy.ts:527:4 + ;;@ assembly/buddy.ts:531:4 (set_local $1 (i32.sub (get_local $1) @@ -1066,43 +1066,43 @@ ) ) ) - ;;@ assembly/buddy.ts:536:2 + ;;@ assembly/buddy.ts:540:2 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:536:12 + ;;@ assembly/buddy.ts:540:12 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:536:24 + ;;@ assembly/buddy.ts:540:24 (get_local $1) ) - ;;@ assembly/buddy.ts:536:33 + ;;@ assembly/buddy.ts:540:33 (call $assembly/buddy/ptr_for_node - ;;@ assembly/buddy.ts:536:63 + ;;@ assembly/buddy.ts:540:63 (get_local $0) - ;;@ assembly/buddy.ts:536:66 + ;;@ assembly/buddy.ts:540:66 (get_local $1) ) ) ) (func $start (; 15 ;) (type $v) (set_global $assembly/buddy/BUCKETS_START - ;;@ assembly/buddy.ts:92:27 + ;;@ assembly/buddy.ts:96:27 (get_global $HEAP_BASE) ) (set_global $assembly/buddy/BUCKETS_END - ;;@ assembly/buddy.ts:93:25 + ;;@ assembly/buddy.ts:97:25 (i32.add (get_global $assembly/buddy/BUCKETS_START) (i32.const 224) ) ) (set_global $assembly/buddy/NODE_IS_SPLIT_START - ;;@ assembly/buddy.ts:138:33 + ;;@ assembly/buddy.ts:142:33 (get_global $assembly/buddy/BUCKETS_END) ) (set_global $assembly/buddy/NODE_IS_SPLIT_END - ;;@ assembly/buddy.ts:139:31 + ;;@ assembly/buddy.ts:143:31 (i32.add (get_global $assembly/buddy/NODE_IS_SPLIT_START) - ;;@ assembly/buddy.ts:139:53 + ;;@ assembly/buddy.ts:143:53 (i32.const 16777216) ) ) diff --git a/tests/allocators/buddy/buddy.untouched.wat b/tests/allocators/buddy/buddy.untouched.wat index ea6bc9ae..1507ff66 100644 --- a/tests/allocators/buddy/buddy.untouched.wat +++ b/tests/allocators/buddy/buddy.untouched.wat @@ -31,52 +31,52 @@ (func $assembly/buddy/update_max_ptr (; 1 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - ;;@ assembly/buddy.ts:170:2 + ;;@ assembly/buddy.ts:174:2 (if - ;;@ assembly/buddy.ts:170:6 + ;;@ assembly/buddy.ts:174:6 (i32.gt_u (get_local $0) - ;;@ assembly/buddy.ts:170:18 + ;;@ assembly/buddy.ts:174:18 (get_global $assembly/buddy/max_ptr) ) - ;;@ assembly/buddy.ts:170:27 + ;;@ assembly/buddy.ts:174:27 (block - ;;@ assembly/buddy.ts:174:4 + ;;@ assembly/buddy.ts:178:4 (set_local $1 - ;;@ assembly/buddy.ts:174:19 + ;;@ assembly/buddy.ts:178:19 (current_memory) ) - ;;@ assembly/buddy.ts:175:4 + ;;@ assembly/buddy.ts:179:4 (set_local $2 - ;;@ assembly/buddy.ts:175:19 + ;;@ assembly/buddy.ts:179:19 (i32.shr_u - ;;@ assembly/buddy.ts:175:25 + ;;@ assembly/buddy.ts:179:25 (i32.and - ;;@ assembly/buddy.ts:175:26 + ;;@ assembly/buddy.ts:179:26 (i32.add - ;;@ assembly/buddy.ts:175:27 + ;;@ assembly/buddy.ts:179:27 (get_local $0) - ;;@ assembly/buddy.ts:175:39 + ;;@ assembly/buddy.ts:179:39 (i32.const 65535) ) - ;;@ assembly/buddy.ts:175:49 + ;;@ assembly/buddy.ts:179:49 (i32.xor - ;;@ assembly/buddy.ts:175:50 + ;;@ assembly/buddy.ts:179:50 (i32.const 65535) (i32.const -1) ) ) - ;;@ assembly/buddy.ts:175:61 + ;;@ assembly/buddy.ts:179:61 (i32.const 16) ) ) - ;;@ assembly/buddy.ts:176:4 + ;;@ assembly/buddy.ts:180:4 (if (i32.eqz - ;;@ assembly/buddy.ts:176:11 + ;;@ assembly/buddy.ts:180:11 (i32.gt_u (get_local $2) - ;;@ assembly/buddy.ts:176:22 + ;;@ assembly/buddy.ts:180:22 (get_local $1) ) ) @@ -84,56 +84,56 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 176) + (i32.const 180) (i32.const 4) ) (unreachable) ) ) - ;;@ assembly/buddy.ts:177:4 + ;;@ assembly/buddy.ts:181:4 (if - ;;@ assembly/buddy.ts:177:8 + ;;@ assembly/buddy.ts:181:8 (i32.lt_s (grow_memory - ;;@ assembly/buddy.ts:177:20 + ;;@ assembly/buddy.ts:181:20 (i32.sub (get_local $2) - ;;@ assembly/buddy.ts:177:31 + ;;@ assembly/buddy.ts:181:31 (get_local $1) ) ) - ;;@ assembly/buddy.ts:177:43 + ;;@ assembly/buddy.ts:181:43 (i32.const 0) ) - ;;@ assembly/buddy.ts:178:13 + ;;@ assembly/buddy.ts:182:13 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:181:4 + ;;@ assembly/buddy.ts:185:4 (set_global $assembly/buddy/max_ptr - ;;@ assembly/buddy.ts:181:14 + ;;@ assembly/buddy.ts:185:14 (i32.shl (get_local $2) - ;;@ assembly/buddy.ts:181:33 + ;;@ assembly/buddy.ts:185:33 (i32.const 16) ) ) ) ) - ;;@ assembly/buddy.ts:183:9 + ;;@ assembly/buddy.ts:187:9 (return (i32.const 1) ) ) (func $assembly/buddy/buckets$get (; 2 ;) (type $ii) (param $0 i32) (result i32) - ;;@ assembly/buddy.ts:96:2 + ;;@ assembly/buddy.ts:100:2 (if (i32.eqz - ;;@ assembly/buddy.ts:96:9 + ;;@ assembly/buddy.ts:100:9 (i32.lt_u (get_local $0) - ;;@ assembly/buddy.ts:96:17 + ;;@ assembly/buddy.ts:100:17 (i32.const 28) ) ) @@ -141,116 +141,116 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 96) + (i32.const 100) (i32.const 2) ) (unreachable) ) ) - ;;@ assembly/buddy.ts:97:59 + ;;@ assembly/buddy.ts:101:59 (return - ;;@ assembly/buddy.ts:97:9 + ;;@ assembly/buddy.ts:101:9 (i32.add - ;;@ assembly/buddy.ts:97:26 + ;;@ assembly/buddy.ts:101:26 (get_global $assembly/buddy/BUCKETS_START) - ;;@ assembly/buddy.ts:97:42 + ;;@ assembly/buddy.ts:101:42 (i32.mul (get_local $0) - ;;@ assembly/buddy.ts:97:50 + ;;@ assembly/buddy.ts:101:50 (i32.const 8) ) ) ) ) (func $assembly/buddy/list_init (; 3 ;) (type $iv) (param $0 i32) - ;;@ assembly/buddy.ts:192:2 + ;;@ assembly/buddy.ts:196:2 (i32.store (get_local $0) - ;;@ assembly/buddy.ts:192:14 + ;;@ assembly/buddy.ts:196:14 (get_local $0) ) - ;;@ assembly/buddy.ts:193:2 + ;;@ assembly/buddy.ts:197:2 (i32.store offset=4 (get_local $0) - ;;@ assembly/buddy.ts:193:14 + ;;@ assembly/buddy.ts:197:14 (get_local $0) ) ) (func $assembly/buddy/list_push (; 4 ;) (type $iiv) (param $0 i32) (param $1 i32) (local $2 i32) - ;;@ assembly/buddy.ts:201:2 + ;;@ assembly/buddy.ts:205:2 (set_local $2 - ;;@ assembly/buddy.ts:201:13 + ;;@ assembly/buddy.ts:205:13 (i32.load (get_local $0) ) ) - ;;@ assembly/buddy.ts:202:2 + ;;@ assembly/buddy.ts:206:2 (i32.store (get_local $1) - ;;@ assembly/buddy.ts:202:15 + ;;@ assembly/buddy.ts:206:15 (get_local $2) ) - ;;@ assembly/buddy.ts:203:2 + ;;@ assembly/buddy.ts:207:2 (i32.store offset=4 (get_local $1) - ;;@ assembly/buddy.ts:203:15 + ;;@ assembly/buddy.ts:207:15 (get_local $0) ) - ;;@ assembly/buddy.ts:204:2 + ;;@ assembly/buddy.ts:208:2 (i32.store offset=4 (get_local $2) - ;;@ assembly/buddy.ts:204:14 + ;;@ assembly/buddy.ts:208:14 (get_local $1) ) - ;;@ assembly/buddy.ts:205:2 + ;;@ assembly/buddy.ts:209:2 (i32.store (get_local $0) - ;;@ assembly/buddy.ts:205:14 + ;;@ assembly/buddy.ts:209:14 (get_local $1) ) ) (func $assembly/buddy/bucket_for_request (; 5 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - ;;@ assembly/buddy.ts:274:2 + ;;@ assembly/buddy.ts:278:2 (set_local $1 - ;;@ assembly/buddy.ts:274:15 + ;;@ assembly/buddy.ts:278:15 (i32.sub (i32.const 28) - ;;@ assembly/buddy.ts:274:30 + ;;@ assembly/buddy.ts:278:30 (i32.const 1) ) ) - ;;@ assembly/buddy.ts:275:2 + ;;@ assembly/buddy.ts:279:2 (set_local $2 - ;;@ assembly/buddy.ts:275:13 + ;;@ assembly/buddy.ts:279:13 (i32.const 16) ) - ;;@ assembly/buddy.ts:277:2 + ;;@ assembly/buddy.ts:281:2 (block $break|0 (loop $continue|0 (if - ;;@ assembly/buddy.ts:277:9 + ;;@ assembly/buddy.ts:281:9 (i32.lt_u (get_local $2) - ;;@ assembly/buddy.ts:277:16 + ;;@ assembly/buddy.ts:281:16 (get_local $0) ) (block (block - ;;@ assembly/buddy.ts:278:4 + ;;@ assembly/buddy.ts:282:4 (set_local $1 (i32.sub (get_local $1) (i32.const 1) ) ) - ;;@ assembly/buddy.ts:279:4 + ;;@ assembly/buddy.ts:283:4 (set_local $2 (i32.mul (get_local $2) - ;;@ assembly/buddy.ts:279:12 + ;;@ assembly/buddy.ts:283:12 (i32.const 2) ) ) @@ -260,54 +260,54 @@ ) ) ) - ;;@ assembly/buddy.ts:282:9 + ;;@ assembly/buddy.ts:286:9 (return (get_local $1) ) ) (func $assembly/buddy/node_for_ptr (; 6 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - ;;@ assembly/buddy.ts:247:75 + ;;@ assembly/buddy.ts:251:75 (return - ;;@ assembly/buddy.ts:247:9 + ;;@ assembly/buddy.ts:251:9 (i32.sub (i32.add (i32.shr_u - ;;@ assembly/buddy.ts:247:10 + ;;@ assembly/buddy.ts:251:10 (i32.sub - ;;@ assembly/buddy.ts:247:11 + ;;@ assembly/buddy.ts:251:11 (get_local $0) - ;;@ assembly/buddy.ts:247:17 + ;;@ assembly/buddy.ts:251:17 (get_global $assembly/buddy/base_ptr) ) - ;;@ assembly/buddy.ts:247:30 + ;;@ assembly/buddy.ts:251:30 (i32.sub - ;;@ assembly/buddy.ts:247:31 + ;;@ assembly/buddy.ts:251:31 (i32.const 31) - ;;@ assembly/buddy.ts:247:48 + ;;@ assembly/buddy.ts:251:48 (get_local $1) ) ) - ;;@ assembly/buddy.ts:247:59 + ;;@ assembly/buddy.ts:251:59 (i32.shl - ;;@ assembly/buddy.ts:247:60 + ;;@ assembly/buddy.ts:251:60 (i32.const 1) - ;;@ assembly/buddy.ts:247:65 + ;;@ assembly/buddy.ts:251:65 (get_local $1) ) ) - ;;@ assembly/buddy.ts:247:75 + ;;@ assembly/buddy.ts:251:75 (i32.const 1) ) ) ) (func $assembly/buddy/node_is_split$get (; 7 ;) (type $ii) (param $0 i32) (result i32) - ;;@ assembly/buddy.ts:142:2 + ;;@ assembly/buddy.ts:146:2 (if (i32.eqz - ;;@ assembly/buddy.ts:142:9 + ;;@ assembly/buddy.ts:146:9 (i32.lt_u (get_local $0) - ;;@ assembly/buddy.ts:142:17 + ;;@ assembly/buddy.ts:146:17 (i32.const 16777216) ) ) @@ -315,63 +315,63 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 142) + (i32.const 146) (i32.const 2) ) (unreachable) ) ) - ;;@ assembly/buddy.ts:143:45 + ;;@ assembly/buddy.ts:147:45 (return - ;;@ assembly/buddy.ts:143:9 + ;;@ assembly/buddy.ts:147:9 (i32.load8_u - ;;@ assembly/buddy.ts:143:18 + ;;@ assembly/buddy.ts:147:18 (i32.add (get_global $assembly/buddy/NODE_IS_SPLIT_START) - ;;@ assembly/buddy.ts:143:40 + ;;@ assembly/buddy.ts:147:40 (get_local $0) ) ) ) ) (func $assembly/buddy/parent_is_split (; 8 ;) (type $ii) (param $0 i32) (result i32) - ;;@ assembly/buddy.ts:254:2 + ;;@ assembly/buddy.ts:258:2 (set_local $0 - ;;@ assembly/buddy.ts:254:10 + ;;@ assembly/buddy.ts:258:10 (i32.div_u (i32.sub - ;;@ assembly/buddy.ts:254:11 + ;;@ assembly/buddy.ts:258:11 (get_local $0) - ;;@ assembly/buddy.ts:254:19 + ;;@ assembly/buddy.ts:258:19 (i32.const 1) ) - ;;@ assembly/buddy.ts:254:24 + ;;@ assembly/buddy.ts:258:24 (i32.const 2) ) ) - ;;@ assembly/buddy.ts:255:63 + ;;@ assembly/buddy.ts:259:63 (return - ;;@ assembly/buddy.ts:255:9 + ;;@ assembly/buddy.ts:259:9 (i32.and (i32.shr_u - ;;@ assembly/buddy.ts:255:10 + ;;@ assembly/buddy.ts:259:10 (call $assembly/buddy/node_is_split$get - ;;@ assembly/buddy.ts:255:28 + ;;@ assembly/buddy.ts:259:28 (i32.div_u (get_local $0) - ;;@ assembly/buddy.ts:255:36 + ;;@ assembly/buddy.ts:259:36 (i32.const 8) ) ) - ;;@ assembly/buddy.ts:255:43 + ;;@ assembly/buddy.ts:259:43 (i32.rem_u - ;;@ assembly/buddy.ts:255:49 + ;;@ assembly/buddy.ts:259:49 (get_local $0) - ;;@ assembly/buddy.ts:255:57 + ;;@ assembly/buddy.ts:259:57 (i32.const 8) ) ) - ;;@ assembly/buddy.ts:255:63 + ;;@ assembly/buddy.ts:259:63 (i32.const 1) ) ) @@ -379,62 +379,62 @@ (func $assembly/buddy/list_remove (; 9 ;) (type $iv) (param $0 i32) (local $1 i32) (local $2 i32) - ;;@ assembly/buddy.ts:215:2 + ;;@ assembly/buddy.ts:219:2 (set_local $1 - ;;@ assembly/buddy.ts:215:13 + ;;@ assembly/buddy.ts:219:13 (i32.load (get_local $0) ) ) - ;;@ assembly/buddy.ts:216:2 + ;;@ assembly/buddy.ts:220:2 (set_local $2 - ;;@ assembly/buddy.ts:216:13 + ;;@ assembly/buddy.ts:220:13 (i32.load offset=4 (get_local $0) ) ) - ;;@ assembly/buddy.ts:217:2 + ;;@ assembly/buddy.ts:221:2 (i32.store offset=4 (get_local $1) - ;;@ assembly/buddy.ts:217:14 + ;;@ assembly/buddy.ts:221:14 (get_local $2) ) - ;;@ assembly/buddy.ts:218:2 + ;;@ assembly/buddy.ts:222:2 (i32.store (get_local $2) - ;;@ assembly/buddy.ts:218:14 + ;;@ assembly/buddy.ts:222:14 (get_local $1) ) ) (func $assembly/buddy/ptr_for_node (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - ;;@ assembly/buddy.ts:238:77 + ;;@ assembly/buddy.ts:242:77 (return - ;;@ assembly/buddy.ts:238:9 + ;;@ assembly/buddy.ts:242:9 (i32.add (get_global $assembly/buddy/base_ptr) - ;;@ assembly/buddy.ts:238:20 + ;;@ assembly/buddy.ts:242:20 (i32.shl - ;;@ assembly/buddy.ts:238:21 + ;;@ assembly/buddy.ts:242:21 (i32.add - ;;@ assembly/buddy.ts:238:22 + ;;@ assembly/buddy.ts:242:22 (i32.sub (get_local $0) - ;;@ assembly/buddy.ts:238:30 + ;;@ assembly/buddy.ts:242:30 (i32.shl - ;;@ assembly/buddy.ts:238:31 + ;;@ assembly/buddy.ts:242:31 (i32.const 1) - ;;@ assembly/buddy.ts:238:36 + ;;@ assembly/buddy.ts:242:36 (get_local $1) ) ) - ;;@ assembly/buddy.ts:238:46 + ;;@ assembly/buddy.ts:242:46 (i32.const 1) ) - ;;@ assembly/buddy.ts:238:52 + ;;@ assembly/buddy.ts:242:52 (i32.sub - ;;@ assembly/buddy.ts:238:53 + ;;@ assembly/buddy.ts:242:53 (i32.const 31) - ;;@ assembly/buddy.ts:238:70 + ;;@ assembly/buddy.ts:242:70 (get_local $1) ) ) @@ -442,13 +442,13 @@ ) ) (func $assembly/buddy/node_is_split$set (; 11 ;) (type $iiv) (param $0 i32) (param $1 i32) - ;;@ assembly/buddy.ts:147:2 + ;;@ assembly/buddy.ts:151:2 (if (i32.eqz - ;;@ assembly/buddy.ts:147:9 + ;;@ assembly/buddy.ts:151:9 (i32.lt_u (get_local $0) - ;;@ assembly/buddy.ts:147:17 + ;;@ assembly/buddy.ts:151:17 (i32.const 16777216) ) ) @@ -456,68 +456,68 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 147) + (i32.const 151) (i32.const 2) ) (unreachable) ) ) - ;;@ assembly/buddy.ts:148:2 + ;;@ assembly/buddy.ts:152:2 (i32.store8 - ;;@ assembly/buddy.ts:148:12 + ;;@ assembly/buddy.ts:152:12 (i32.add (get_global $assembly/buddy/NODE_IS_SPLIT_START) - ;;@ assembly/buddy.ts:148:34 + ;;@ assembly/buddy.ts:152:34 (get_local $0) ) - ;;@ assembly/buddy.ts:148:41 + ;;@ assembly/buddy.ts:152:41 (get_local $1) ) ) (func $assembly/buddy/flip_parent_is_split (; 12 ;) (type $iv) (param $0 i32) (local $1 i32) - ;;@ assembly/buddy.ts:262:2 + ;;@ assembly/buddy.ts:266:2 (set_local $0 - ;;@ assembly/buddy.ts:262:10 + ;;@ assembly/buddy.ts:266:10 (i32.div_u (i32.sub - ;;@ assembly/buddy.ts:262:11 + ;;@ assembly/buddy.ts:266:11 (get_local $0) - ;;@ assembly/buddy.ts:262:19 + ;;@ assembly/buddy.ts:266:19 (i32.const 1) ) - ;;@ assembly/buddy.ts:262:24 + ;;@ assembly/buddy.ts:266:24 (i32.const 2) ) ) - ;;@ assembly/buddy.ts:263:2 + ;;@ assembly/buddy.ts:267:2 (set_local $1 - ;;@ assembly/buddy.ts:263:18 + ;;@ assembly/buddy.ts:267:18 (i32.div_u (get_local $0) - ;;@ assembly/buddy.ts:263:26 + ;;@ assembly/buddy.ts:267:26 (i32.const 8) ) ) - ;;@ assembly/buddy.ts:264:2 + ;;@ assembly/buddy.ts:268:2 (call $assembly/buddy/node_is_split$set - ;;@ assembly/buddy.ts:264:20 + ;;@ assembly/buddy.ts:268:20 (get_local $1) - ;;@ assembly/buddy.ts:265:4 + ;;@ assembly/buddy.ts:269:4 (i32.xor (call $assembly/buddy/node_is_split$get - ;;@ assembly/buddy.ts:265:22 + ;;@ assembly/buddy.ts:269:22 (get_local $1) ) - ;;@ assembly/buddy.ts:265:35 + ;;@ assembly/buddy.ts:269:35 (i32.shl - ;;@ assembly/buddy.ts:265:41 + ;;@ assembly/buddy.ts:269:41 (i32.const 1) - ;;@ assembly/buddy.ts:265:46 + ;;@ assembly/buddy.ts:269:46 (i32.rem_u - ;;@ assembly/buddy.ts:265:47 + ;;@ assembly/buddy.ts:269:47 (get_local $0) - ;;@ assembly/buddy.ts:265:55 + ;;@ assembly/buddy.ts:269:55 (i32.const 8) ) ) @@ -527,56 +527,56 @@ (func $assembly/buddy/lower_bucket_limit (; 13 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - ;;@ assembly/buddy.ts:291:2 + ;;@ assembly/buddy.ts:295:2 (block $break|0 (loop $continue|0 (if - ;;@ assembly/buddy.ts:291:9 + ;;@ assembly/buddy.ts:295:9 (i32.lt_u (get_local $0) - ;;@ assembly/buddy.ts:291:18 + ;;@ assembly/buddy.ts:295:18 (get_global $assembly/buddy/bucket_limit) ) (block (block - ;;@ assembly/buddy.ts:292:4 + ;;@ assembly/buddy.ts:296:4 (set_local $1 - ;;@ assembly/buddy.ts:292:15 + ;;@ assembly/buddy.ts:296:15 (call $assembly/buddy/node_for_ptr - ;;@ assembly/buddy.ts:292:28 + ;;@ assembly/buddy.ts:296:28 (get_global $assembly/buddy/base_ptr) - ;;@ assembly/buddy.ts:292:38 + ;;@ assembly/buddy.ts:296:38 (get_global $assembly/buddy/bucket_limit) ) ) - ;;@ assembly/buddy.ts:293:4 + ;;@ assembly/buddy.ts:297:4 (nop) - ;;@ assembly/buddy.ts:301:4 + ;;@ assembly/buddy.ts:305:4 (if - ;;@ assembly/buddy.ts:301:8 + ;;@ assembly/buddy.ts:305:8 (i32.eqz - ;;@ assembly/buddy.ts:301:9 + ;;@ assembly/buddy.ts:305:9 (call $assembly/buddy/parent_is_split - ;;@ assembly/buddy.ts:301:25 + ;;@ assembly/buddy.ts:305:25 (get_local $1) ) ) - ;;@ assembly/buddy.ts:301:32 + ;;@ assembly/buddy.ts:305:32 (block - ;;@ assembly/buddy.ts:302:6 + ;;@ assembly/buddy.ts:306:6 (call $assembly/buddy/list_remove - ;;@ assembly/buddy.ts:302:18 + ;;@ assembly/buddy.ts:306:18 (get_global $assembly/buddy/base_ptr) ) - ;;@ assembly/buddy.ts:303:6 + ;;@ assembly/buddy.ts:307:6 (call $assembly/buddy/list_init - ;;@ assembly/buddy.ts:303:16 + ;;@ assembly/buddy.ts:307:16 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:303:28 + ;;@ assembly/buddy.ts:307:28 (block (result i32) (set_global $assembly/buddy/bucket_limit (i32.sub - ;;@ assembly/buddy.ts:303:30 + ;;@ assembly/buddy.ts:307:30 (get_global $assembly/buddy/bucket_limit) (i32.const 1) ) @@ -585,72 +585,72 @@ ) ) ) - ;;@ assembly/buddy.ts:304:6 + ;;@ assembly/buddy.ts:308:6 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:304:16 + ;;@ assembly/buddy.ts:308:16 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:304:28 + ;;@ assembly/buddy.ts:308:28 (get_global $assembly/buddy/bucket_limit) ) - ;;@ assembly/buddy.ts:304:43 + ;;@ assembly/buddy.ts:308:43 (get_global $assembly/buddy/base_ptr) ) - ;;@ assembly/buddy.ts:305:6 + ;;@ assembly/buddy.ts:309:6 (br $continue|0) ) ) - ;;@ assembly/buddy.ts:316:4 + ;;@ assembly/buddy.ts:320:4 (set_local $2 - ;;@ assembly/buddy.ts:316:18 + ;;@ assembly/buddy.ts:320:18 (call $assembly/buddy/ptr_for_node - ;;@ assembly/buddy.ts:316:31 + ;;@ assembly/buddy.ts:320:31 (i32.add (get_local $1) - ;;@ assembly/buddy.ts:316:38 + ;;@ assembly/buddy.ts:320:38 (i32.const 1) ) - ;;@ assembly/buddy.ts:316:41 + ;;@ assembly/buddy.ts:320:41 (get_global $assembly/buddy/bucket_limit) ) ) - ;;@ assembly/buddy.ts:317:4 + ;;@ assembly/buddy.ts:321:4 (if - ;;@ assembly/buddy.ts:317:8 + ;;@ assembly/buddy.ts:321:8 (i32.eqz - ;;@ assembly/buddy.ts:317:9 + ;;@ assembly/buddy.ts:321:9 (call $assembly/buddy/update_max_ptr - ;;@ assembly/buddy.ts:317:24 + ;;@ assembly/buddy.ts:321:24 (i32.add (get_local $2) - ;;@ assembly/buddy.ts:317:38 + ;;@ assembly/buddy.ts:321:38 (i32.const 8) ) ) ) - ;;@ assembly/buddy.ts:318:13 + ;;@ assembly/buddy.ts:322:13 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:320:4 + ;;@ assembly/buddy.ts:324:4 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:320:14 + ;;@ assembly/buddy.ts:324:14 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:320:26 + ;;@ assembly/buddy.ts:324:26 (get_global $assembly/buddy/bucket_limit) ) - ;;@ assembly/buddy.ts:320:41 + ;;@ assembly/buddy.ts:324:41 (get_local $2) ) - ;;@ assembly/buddy.ts:321:4 + ;;@ assembly/buddy.ts:325:4 (call $assembly/buddy/list_init - ;;@ assembly/buddy.ts:321:14 + ;;@ assembly/buddy.ts:325:14 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:321:26 + ;;@ assembly/buddy.ts:325:26 (block (result i32) (set_global $assembly/buddy/bucket_limit (i32.sub - ;;@ assembly/buddy.ts:321:28 + ;;@ assembly/buddy.ts:325:28 (get_global $assembly/buddy/bucket_limit) (i32.const 1) ) @@ -659,31 +659,31 @@ ) ) ) - ;;@ assembly/buddy.ts:327:4 + ;;@ assembly/buddy.ts:331:4 (set_local $1 - ;;@ assembly/buddy.ts:327:11 + ;;@ assembly/buddy.ts:331:11 (i32.div_u (i32.sub - ;;@ assembly/buddy.ts:327:12 + ;;@ assembly/buddy.ts:331:12 (get_local $1) - ;;@ assembly/buddy.ts:327:19 + ;;@ assembly/buddy.ts:331:19 (i32.const 1) ) - ;;@ assembly/buddy.ts:327:24 + ;;@ assembly/buddy.ts:331:24 (i32.const 2) ) ) - ;;@ assembly/buddy.ts:328:4 + ;;@ assembly/buddy.ts:332:4 (if - ;;@ assembly/buddy.ts:328:8 + ;;@ assembly/buddy.ts:332:8 (i32.ne (get_local $1) - ;;@ assembly/buddy.ts:328:16 + ;;@ assembly/buddy.ts:332:16 (i32.const 0) ) - ;;@ assembly/buddy.ts:329:6 + ;;@ assembly/buddy.ts:333:6 (call $assembly/buddy/flip_parent_is_split - ;;@ assembly/buddy.ts:329:27 + ;;@ assembly/buddy.ts:333:27 (get_local $1) ) ) @@ -693,39 +693,39 @@ ) ) ) - ;;@ assembly/buddy.ts:333:9 + ;;@ assembly/buddy.ts:337:9 (return (i32.const 1) ) ) (func $assembly/buddy/list_pop (; 14 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) - ;;@ assembly/buddy.ts:225:2 + ;;@ assembly/buddy.ts:229:2 (set_local $1 - ;;@ assembly/buddy.ts:225:13 + ;;@ assembly/buddy.ts:229:13 (i32.load (get_local $0) ) ) - ;;@ assembly/buddy.ts:226:2 + ;;@ assembly/buddy.ts:230:2 (if - ;;@ assembly/buddy.ts:226:6 + ;;@ assembly/buddy.ts:230:6 (i32.eq (get_local $1) - ;;@ assembly/buddy.ts:226:14 + ;;@ assembly/buddy.ts:230:14 (get_local $0) ) - ;;@ assembly/buddy.ts:226:27 + ;;@ assembly/buddy.ts:230:27 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:227:2 + ;;@ assembly/buddy.ts:231:2 (call $assembly/buddy/list_remove - ;;@ assembly/buddy.ts:227:14 + ;;@ assembly/buddy.ts:231:14 (get_local $1) ) - ;;@ assembly/buddy.ts:228:9 + ;;@ assembly/buddy.ts:232:9 (return (get_local $1) ) @@ -738,403 +738,403 @@ (local $5 i32) (local $6 i32) (local $7 i32) - ;;@ assembly/buddy.ts:338:2 + ;;@ assembly/buddy.ts:342:2 (nop) - ;;@ assembly/buddy.ts:345:2 + ;;@ assembly/buddy.ts:349:2 (if - ;;@ assembly/buddy.ts:345:6 + ;;@ assembly/buddy.ts:349:6 (i32.gt_u (i32.add (get_local $0) - ;;@ assembly/buddy.ts:345:16 + ;;@ assembly/buddy.ts:349:16 (i32.const 8) ) - ;;@ assembly/buddy.ts:345:30 + ;;@ assembly/buddy.ts:349:30 (i32.const -2147483648) ) - ;;@ assembly/buddy.ts:346:11 + ;;@ assembly/buddy.ts:350:11 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:354:2 + ;;@ assembly/buddy.ts:358:2 (if - ;;@ assembly/buddy.ts:354:6 + ;;@ assembly/buddy.ts:358:6 (i32.eq (get_global $assembly/buddy/base_ptr) - ;;@ assembly/buddy.ts:354:18 + ;;@ assembly/buddy.ts:358:18 (i32.const 0) ) - ;;@ assembly/buddy.ts:354:21 + ;;@ assembly/buddy.ts:358:21 (block - ;;@ assembly/buddy.ts:356:4 + ;;@ assembly/buddy.ts:360:4 (set_global $assembly/buddy/base_ptr - ;;@ assembly/buddy.ts:356:15 + ;;@ assembly/buddy.ts:360:15 (i32.and (i32.add - ;;@ assembly/buddy.ts:356:16 + ;;@ assembly/buddy.ts:360:16 (get_global $assembly/buddy/NODE_IS_SPLIT_END) - ;;@ assembly/buddy.ts:356:36 + ;;@ assembly/buddy.ts:360:36 (i32.const 7) ) - ;;@ assembly/buddy.ts:356:41 + ;;@ assembly/buddy.ts:360:41 (i32.xor - ;;@ assembly/buddy.ts:356:42 + ;;@ assembly/buddy.ts:360:42 (i32.const 7) (i32.const -1) ) ) ) - ;;@ assembly/buddy.ts:357:4 + ;;@ assembly/buddy.ts:361:4 (set_global $assembly/buddy/max_ptr - ;;@ assembly/buddy.ts:357:14 + ;;@ assembly/buddy.ts:361:14 (i32.shl (current_memory) - ;;@ assembly/buddy.ts:357:41 + ;;@ assembly/buddy.ts:361:41 (i32.const 16) ) ) - ;;@ assembly/buddy.ts:358:4 + ;;@ assembly/buddy.ts:362:4 (set_global $assembly/buddy/bucket_limit - ;;@ assembly/buddy.ts:358:19 + ;;@ assembly/buddy.ts:362:19 (i32.sub (i32.const 28) - ;;@ assembly/buddy.ts:358:34 + ;;@ assembly/buddy.ts:362:34 (i32.const 1) ) ) - ;;@ assembly/buddy.ts:359:4 + ;;@ assembly/buddy.ts:363:4 (if - ;;@ assembly/buddy.ts:359:8 + ;;@ assembly/buddy.ts:363:8 (i32.eqz - ;;@ assembly/buddy.ts:359:9 + ;;@ assembly/buddy.ts:363:9 (call $assembly/buddy/update_max_ptr - ;;@ assembly/buddy.ts:359:24 + ;;@ assembly/buddy.ts:363:24 (i32.add (get_global $assembly/buddy/base_ptr) - ;;@ assembly/buddy.ts:359:35 + ;;@ assembly/buddy.ts:363:35 (i32.const 8) ) ) ) - ;;@ assembly/buddy.ts:360:13 + ;;@ assembly/buddy.ts:364:13 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:362:4 + ;;@ assembly/buddy.ts:366:4 (call $assembly/buddy/list_init - ;;@ assembly/buddy.ts:362:14 + ;;@ assembly/buddy.ts:366:14 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:362:26 + ;;@ assembly/buddy.ts:366:26 (i32.sub (i32.const 28) - ;;@ assembly/buddy.ts:362:41 + ;;@ assembly/buddy.ts:366:41 (i32.const 1) ) ) ) - ;;@ assembly/buddy.ts:363:4 + ;;@ assembly/buddy.ts:367:4 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:363:14 + ;;@ assembly/buddy.ts:367:14 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:363:26 + ;;@ assembly/buddy.ts:367:26 (i32.sub (i32.const 28) - ;;@ assembly/buddy.ts:363:41 + ;;@ assembly/buddy.ts:367:41 (i32.const 1) ) ) - ;;@ assembly/buddy.ts:363:45 + ;;@ assembly/buddy.ts:367:45 (get_global $assembly/buddy/base_ptr) ) ) ) - ;;@ assembly/buddy.ts:370:2 + ;;@ assembly/buddy.ts:374:2 (set_local $2 - ;;@ assembly/buddy.ts:370:11 + ;;@ assembly/buddy.ts:374:11 (call $assembly/buddy/bucket_for_request - ;;@ assembly/buddy.ts:370:30 + ;;@ assembly/buddy.ts:374:30 (i32.add (get_local $0) - ;;@ assembly/buddy.ts:370:40 + ;;@ assembly/buddy.ts:374:40 (i32.const 8) ) ) ) - ;;@ assembly/buddy.ts:371:2 + ;;@ assembly/buddy.ts:375:2 (set_local $1 - ;;@ assembly/buddy.ts:371:20 + ;;@ assembly/buddy.ts:375:20 (get_local $2) ) - ;;@ assembly/buddy.ts:378:2 + ;;@ assembly/buddy.ts:382:2 (block $break|0 (loop $continue|0 (if - ;;@ assembly/buddy.ts:378:9 + ;;@ assembly/buddy.ts:382:9 (i32.ne (i32.add (get_local $2) - ;;@ assembly/buddy.ts:378:18 + ;;@ assembly/buddy.ts:382:18 (i32.const 1) ) - ;;@ assembly/buddy.ts:378:23 + ;;@ assembly/buddy.ts:382:23 (i32.const 0) ) (block (block - ;;@ assembly/buddy.ts:379:4 + ;;@ assembly/buddy.ts:383:4 (nop) - ;;@ assembly/buddy.ts:380:4 + ;;@ assembly/buddy.ts:384:4 (nop) - ;;@ assembly/buddy.ts:386:4 + ;;@ assembly/buddy.ts:390:4 (if - ;;@ assembly/buddy.ts:386:8 + ;;@ assembly/buddy.ts:390:8 (i32.eqz - ;;@ assembly/buddy.ts:386:9 + ;;@ assembly/buddy.ts:390:9 (call $assembly/buddy/lower_bucket_limit - ;;@ assembly/buddy.ts:386:28 + ;;@ assembly/buddy.ts:390:28 (get_local $2) ) ) - ;;@ assembly/buddy.ts:387:13 + ;;@ assembly/buddy.ts:391:13 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:394:4 + ;;@ assembly/buddy.ts:398:4 (set_local $6 - ;;@ assembly/buddy.ts:394:10 + ;;@ assembly/buddy.ts:398:10 (call $assembly/buddy/list_pop - ;;@ assembly/buddy.ts:394:37 + ;;@ assembly/buddy.ts:398:37 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:394:49 + ;;@ assembly/buddy.ts:398:49 (get_local $2) ) ) ) - ;;@ assembly/buddy.ts:395:4 + ;;@ assembly/buddy.ts:399:4 (if - ;;@ assembly/buddy.ts:395:8 + ;;@ assembly/buddy.ts:399:8 (i32.eqz - ;;@ assembly/buddy.ts:395:9 + ;;@ assembly/buddy.ts:399:9 (get_local $6) ) - ;;@ assembly/buddy.ts:395:14 + ;;@ assembly/buddy.ts:399:14 (block - ;;@ assembly/buddy.ts:400:6 + ;;@ assembly/buddy.ts:404:6 (if - ;;@ assembly/buddy.ts:400:10 + ;;@ assembly/buddy.ts:404:10 (i32.and (if (result i32) (tee_local $7 (i32.ne (get_local $2) - ;;@ assembly/buddy.ts:400:20 + ;;@ assembly/buddy.ts:404:20 (get_global $assembly/buddy/bucket_limit) ) ) (get_local $7) - ;;@ assembly/buddy.ts:400:36 + ;;@ assembly/buddy.ts:404:36 (i32.eq (get_local $2) - ;;@ assembly/buddy.ts:400:46 + ;;@ assembly/buddy.ts:404:46 (i32.const 0) ) ) (i32.const 1) ) - ;;@ assembly/buddy.ts:400:49 + ;;@ assembly/buddy.ts:404:49 (block - ;;@ assembly/buddy.ts:401:8 + ;;@ assembly/buddy.ts:405:8 (set_local $2 (i32.sub (get_local $2) (i32.const 1) ) ) - ;;@ assembly/buddy.ts:402:8 + ;;@ assembly/buddy.ts:406:8 (br $continue|0) ) ) - ;;@ assembly/buddy.ts:412:6 + ;;@ assembly/buddy.ts:416:6 (if - ;;@ assembly/buddy.ts:412:10 + ;;@ assembly/buddy.ts:416:10 (i32.eqz - ;;@ assembly/buddy.ts:412:11 + ;;@ assembly/buddy.ts:416:11 (call $assembly/buddy/lower_bucket_limit - ;;@ assembly/buddy.ts:412:30 + ;;@ assembly/buddy.ts:416:30 (i32.sub (get_local $2) - ;;@ assembly/buddy.ts:412:39 + ;;@ assembly/buddy.ts:416:39 (i32.const 1) ) ) ) - ;;@ assembly/buddy.ts:413:15 + ;;@ assembly/buddy.ts:417:15 (return (i32.const 0) ) ) - ;;@ assembly/buddy.ts:415:6 + ;;@ assembly/buddy.ts:419:6 (set_local $6 - ;;@ assembly/buddy.ts:415:12 + ;;@ assembly/buddy.ts:419:12 (call $assembly/buddy/list_pop - ;;@ assembly/buddy.ts:415:39 + ;;@ assembly/buddy.ts:419:39 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:415:51 + ;;@ assembly/buddy.ts:419:51 (get_local $2) ) ) ) ) ) - ;;@ assembly/buddy.ts:422:4 + ;;@ assembly/buddy.ts:426:4 (set_local $3 - ;;@ assembly/buddy.ts:422:11 + ;;@ assembly/buddy.ts:426:11 (i32.shl (i32.const 1) - ;;@ assembly/buddy.ts:422:16 + ;;@ assembly/buddy.ts:426:16 (i32.sub - ;;@ assembly/buddy.ts:422:17 + ;;@ assembly/buddy.ts:426:17 (i32.const 31) - ;;@ assembly/buddy.ts:422:34 + ;;@ assembly/buddy.ts:426:34 (get_local $2) ) ) ) - ;;@ assembly/buddy.ts:423:4 + ;;@ assembly/buddy.ts:427:4 (set_local $4 - ;;@ assembly/buddy.ts:423:19 + ;;@ assembly/buddy.ts:427:19 (if (result i32) (i32.lt_u (get_local $2) - ;;@ assembly/buddy.ts:423:28 + ;;@ assembly/buddy.ts:427:28 (get_local $1) ) - ;;@ assembly/buddy.ts:423:46 + ;;@ assembly/buddy.ts:427:46 (i32.add (i32.div_u (get_local $3) - ;;@ assembly/buddy.ts:423:53 + ;;@ assembly/buddy.ts:427:53 (i32.const 2) ) - ;;@ assembly/buddy.ts:423:57 + ;;@ assembly/buddy.ts:427:57 (i32.const 8) ) - ;;@ assembly/buddy.ts:423:69 + ;;@ assembly/buddy.ts:427:69 (get_local $3) ) ) - ;;@ assembly/buddy.ts:424:4 + ;;@ assembly/buddy.ts:428:4 (if - ;;@ assembly/buddy.ts:424:8 + ;;@ assembly/buddy.ts:428:8 (i32.eqz - ;;@ assembly/buddy.ts:424:9 + ;;@ assembly/buddy.ts:428:9 (call $assembly/buddy/update_max_ptr - ;;@ assembly/buddy.ts:424:24 + ;;@ assembly/buddy.ts:428:24 (i32.add (get_local $6) - ;;@ assembly/buddy.ts:424:30 + ;;@ assembly/buddy.ts:428:30 (get_local $4) ) ) ) - ;;@ assembly/buddy.ts:424:45 + ;;@ assembly/buddy.ts:428:45 (block - ;;@ assembly/buddy.ts:425:6 + ;;@ assembly/buddy.ts:429:6 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:425:16 + ;;@ assembly/buddy.ts:429:16 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:425:28 + ;;@ assembly/buddy.ts:429:28 (get_local $2) ) - ;;@ assembly/buddy.ts:425:37 + ;;@ assembly/buddy.ts:429:37 (get_local $6) ) - ;;@ assembly/buddy.ts:426:13 + ;;@ assembly/buddy.ts:430:13 (return (i32.const 0) ) ) ) - ;;@ assembly/buddy.ts:440:4 + ;;@ assembly/buddy.ts:444:4 (set_local $5 - ;;@ assembly/buddy.ts:440:8 + ;;@ assembly/buddy.ts:444:8 (call $assembly/buddy/node_for_ptr - ;;@ assembly/buddy.ts:440:21 + ;;@ assembly/buddy.ts:444:21 (get_local $6) - ;;@ assembly/buddy.ts:440:26 + ;;@ assembly/buddy.ts:444:26 (get_local $2) ) ) - ;;@ assembly/buddy.ts:441:4 + ;;@ assembly/buddy.ts:445:4 (if - ;;@ assembly/buddy.ts:441:8 + ;;@ assembly/buddy.ts:445:8 (i32.ne (get_local $5) - ;;@ assembly/buddy.ts:441:13 + ;;@ assembly/buddy.ts:445:13 (i32.const 0) ) - ;;@ assembly/buddy.ts:442:6 + ;;@ assembly/buddy.ts:446:6 (call $assembly/buddy/flip_parent_is_split - ;;@ assembly/buddy.ts:442:27 + ;;@ assembly/buddy.ts:446:27 (get_local $5) ) ) - ;;@ assembly/buddy.ts:452:4 + ;;@ assembly/buddy.ts:456:4 (block $break|1 (loop $continue|1 (if - ;;@ assembly/buddy.ts:452:11 + ;;@ assembly/buddy.ts:456:11 (i32.lt_u (get_local $2) - ;;@ assembly/buddy.ts:452:20 + ;;@ assembly/buddy.ts:456:20 (get_local $1) ) (block (block - ;;@ assembly/buddy.ts:453:6 + ;;@ assembly/buddy.ts:457:6 (set_local $5 - ;;@ assembly/buddy.ts:453:10 + ;;@ assembly/buddy.ts:457:10 (i32.add (i32.mul (get_local $5) - ;;@ assembly/buddy.ts:453:14 + ;;@ assembly/buddy.ts:457:14 (i32.const 2) ) - ;;@ assembly/buddy.ts:453:18 + ;;@ assembly/buddy.ts:457:18 (i32.const 1) ) ) - ;;@ assembly/buddy.ts:454:6 + ;;@ assembly/buddy.ts:458:6 (set_local $2 (i32.add (get_local $2) (i32.const 1) ) ) - ;;@ assembly/buddy.ts:455:6 + ;;@ assembly/buddy.ts:459:6 (call $assembly/buddy/flip_parent_is_split - ;;@ assembly/buddy.ts:455:27 + ;;@ assembly/buddy.ts:459:27 (get_local $5) ) - ;;@ assembly/buddy.ts:456:6 + ;;@ assembly/buddy.ts:460:6 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:457:8 + ;;@ assembly/buddy.ts:461:8 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:457:20 + ;;@ assembly/buddy.ts:461:20 (get_local $2) ) - ;;@ assembly/buddy.ts:458:8 + ;;@ assembly/buddy.ts:462:8 (call $assembly/buddy/ptr_for_node - ;;@ assembly/buddy.ts:458:38 + ;;@ assembly/buddy.ts:462:38 (i32.add (get_local $5) - ;;@ assembly/buddy.ts:458:42 + ;;@ assembly/buddy.ts:462:42 (i32.const 1) ) - ;;@ assembly/buddy.ts:458:45 + ;;@ assembly/buddy.ts:462:45 (get_local $2) ) ) @@ -1144,19 +1144,19 @@ ) ) ) - ;;@ assembly/buddy.ts:466:4 + ;;@ assembly/buddy.ts:470:4 (i32.store - ;;@ assembly/buddy.ts:466:17 + ;;@ assembly/buddy.ts:470:17 (get_local $6) - ;;@ assembly/buddy.ts:466:22 + ;;@ assembly/buddy.ts:470:22 (get_local $0) ) - ;;@ assembly/buddy.ts:467:17 + ;;@ assembly/buddy.ts:471:17 (return - ;;@ assembly/buddy.ts:467:11 + ;;@ assembly/buddy.ts:471:11 (i32.add (get_local $6) - ;;@ assembly/buddy.ts:467:17 + ;;@ assembly/buddy.ts:471:17 (i32.const 8) ) ) @@ -1166,7 +1166,7 @@ ) ) ) - ;;@ assembly/buddy.ts:470:9 + ;;@ assembly/buddy.ts:474:9 (return (i32.const 0) ) @@ -1175,129 +1175,129 @@ (local $1 i32) (local $2 i32) (local $3 i32) - ;;@ assembly/buddy.ts:475:2 + ;;@ assembly/buddy.ts:479:2 (nop) - ;;@ assembly/buddy.ts:480:2 + ;;@ assembly/buddy.ts:484:2 (if - ;;@ assembly/buddy.ts:480:6 + ;;@ assembly/buddy.ts:484:6 (i32.eqz - ;;@ assembly/buddy.ts:480:7 + ;;@ assembly/buddy.ts:484:7 (get_local $0) ) - ;;@ assembly/buddy.ts:481:4 + ;;@ assembly/buddy.ts:485:4 (return) ) - ;;@ assembly/buddy.ts:489:2 + ;;@ assembly/buddy.ts:493:2 (set_local $0 - ;;@ assembly/buddy.ts:489:8 + ;;@ assembly/buddy.ts:493:8 (i32.sub (get_local $0) - ;;@ assembly/buddy.ts:489:14 + ;;@ assembly/buddy.ts:493:14 (i32.const 8) ) ) - ;;@ assembly/buddy.ts:490:2 + ;;@ assembly/buddy.ts:494:2 (set_local $1 - ;;@ assembly/buddy.ts:490:11 + ;;@ assembly/buddy.ts:494:11 (call $assembly/buddy/bucket_for_request - ;;@ assembly/buddy.ts:490:30 + ;;@ assembly/buddy.ts:494:30 (i32.add (i32.load - ;;@ assembly/buddy.ts:490:42 + ;;@ assembly/buddy.ts:494:42 (get_local $0) ) - ;;@ assembly/buddy.ts:490:49 + ;;@ assembly/buddy.ts:494:49 (i32.const 8) ) ) ) - ;;@ assembly/buddy.ts:491:2 + ;;@ assembly/buddy.ts:495:2 (set_local $2 - ;;@ assembly/buddy.ts:491:6 + ;;@ assembly/buddy.ts:495:6 (call $assembly/buddy/node_for_ptr - ;;@ assembly/buddy.ts:491:19 + ;;@ assembly/buddy.ts:495:19 (get_local $0) - ;;@ assembly/buddy.ts:491:24 + ;;@ assembly/buddy.ts:495:24 (get_local $1) ) ) - ;;@ assembly/buddy.ts:497:2 + ;;@ assembly/buddy.ts:501:2 (block $break|0 (loop $continue|0 (if - ;;@ assembly/buddy.ts:497:9 + ;;@ assembly/buddy.ts:501:9 (i32.ne (get_local $2) - ;;@ assembly/buddy.ts:497:14 + ;;@ assembly/buddy.ts:501:14 (i32.const 0) ) (block (block - ;;@ assembly/buddy.ts:504:4 + ;;@ assembly/buddy.ts:508:4 (call $assembly/buddy/flip_parent_is_split - ;;@ assembly/buddy.ts:504:25 + ;;@ assembly/buddy.ts:508:25 (get_local $2) ) - ;;@ assembly/buddy.ts:514:4 + ;;@ assembly/buddy.ts:518:4 (if - ;;@ assembly/buddy.ts:514:8 + ;;@ assembly/buddy.ts:518:8 (if (result i32) (tee_local $3 (call $assembly/buddy/parent_is_split - ;;@ assembly/buddy.ts:514:24 + ;;@ assembly/buddy.ts:518:24 (get_local $2) ) ) (get_local $3) - ;;@ assembly/buddy.ts:514:30 + ;;@ assembly/buddy.ts:518:30 (i32.eq (get_local $1) - ;;@ assembly/buddy.ts:514:40 + ;;@ assembly/buddy.ts:518:40 (get_global $assembly/buddy/bucket_limit) ) ) - ;;@ assembly/buddy.ts:515:6 + ;;@ assembly/buddy.ts:519:6 (br $break|0) ) - ;;@ assembly/buddy.ts:525:4 + ;;@ assembly/buddy.ts:529:4 (call $assembly/buddy/list_remove - ;;@ assembly/buddy.ts:525:16 + ;;@ assembly/buddy.ts:529:16 (call $assembly/buddy/ptr_for_node - ;;@ assembly/buddy.ts:525:46 + ;;@ assembly/buddy.ts:529:46 (i32.add (i32.xor - ;;@ assembly/buddy.ts:525:47 + ;;@ assembly/buddy.ts:529:47 (i32.sub - ;;@ assembly/buddy.ts:525:48 + ;;@ assembly/buddy.ts:529:48 (get_local $2) - ;;@ assembly/buddy.ts:525:52 + ;;@ assembly/buddy.ts:529:52 (i32.const 1) ) - ;;@ assembly/buddy.ts:525:57 + ;;@ assembly/buddy.ts:529:57 (i32.const 1) ) - ;;@ assembly/buddy.ts:525:62 + ;;@ assembly/buddy.ts:529:62 (i32.const 1) ) - ;;@ assembly/buddy.ts:525:65 + ;;@ assembly/buddy.ts:529:65 (get_local $1) ) ) - ;;@ assembly/buddy.ts:526:4 + ;;@ assembly/buddy.ts:530:4 (set_local $2 - ;;@ assembly/buddy.ts:526:8 + ;;@ assembly/buddy.ts:530:8 (i32.div_u (i32.sub - ;;@ assembly/buddy.ts:526:9 + ;;@ assembly/buddy.ts:530:9 (get_local $2) - ;;@ assembly/buddy.ts:526:13 + ;;@ assembly/buddy.ts:530:13 (i32.const 1) ) - ;;@ assembly/buddy.ts:526:18 + ;;@ assembly/buddy.ts:530:18 (i32.const 2) ) ) - ;;@ assembly/buddy.ts:527:4 + ;;@ assembly/buddy.ts:531:4 (set_local $1 (i32.sub (get_local $1) @@ -1310,51 +1310,51 @@ ) ) ) - ;;@ assembly/buddy.ts:536:2 + ;;@ assembly/buddy.ts:540:2 (call $assembly/buddy/list_push - ;;@ assembly/buddy.ts:536:12 + ;;@ assembly/buddy.ts:540:12 (call $assembly/buddy/buckets$get - ;;@ assembly/buddy.ts:536:24 + ;;@ assembly/buddy.ts:540:24 (get_local $1) ) - ;;@ assembly/buddy.ts:536:33 + ;;@ assembly/buddy.ts:540:33 (call $assembly/buddy/ptr_for_node - ;;@ assembly/buddy.ts:536:63 + ;;@ assembly/buddy.ts:540:63 (get_local $2) - ;;@ assembly/buddy.ts:536:66 + ;;@ assembly/buddy.ts:540:66 (get_local $1) ) ) ) (func $start (; 17 ;) (type $v) (set_global $assembly/buddy/BUCKETS_START - ;;@ assembly/buddy.ts:92:27 + ;;@ assembly/buddy.ts:96:27 (get_global $HEAP_BASE) ) (set_global $assembly/buddy/BUCKETS_END - ;;@ assembly/buddy.ts:93:25 + ;;@ assembly/buddy.ts:97:25 (i32.add (get_global $assembly/buddy/BUCKETS_START) - ;;@ assembly/buddy.ts:93:41 + ;;@ assembly/buddy.ts:97:41 (i32.mul (i32.const 28) - ;;@ assembly/buddy.ts:93:56 + ;;@ assembly/buddy.ts:97:56 (i32.const 8) ) ) ) (set_global $assembly/buddy/NODE_IS_SPLIT_START - ;;@ assembly/buddy.ts:138:33 + ;;@ assembly/buddy.ts:142:33 (get_global $assembly/buddy/BUCKETS_END) ) (set_global $assembly/buddy/NODE_IS_SPLIT_END - ;;@ assembly/buddy.ts:139:31 + ;;@ assembly/buddy.ts:143:31 (i32.add (get_global $assembly/buddy/NODE_IS_SPLIT_START) - ;;@ assembly/buddy.ts:139:53 + ;;@ assembly/buddy.ts:143:53 (i32.mul (i32.const 16777216) - ;;@ assembly/buddy.ts:139:67 + ;;@ assembly/buddy.ts:143:67 (i32.const 1) ) ) diff --git a/tests/allocators/runner.js b/tests/allocators/runner.js index 5505e5e8..5ec3221d 100644 --- a/tests/allocators/runner.js +++ b/tests/allocators/runner.js @@ -7,7 +7,8 @@ function runner(allocator, runs, allocs) { size = (size + 3) & ~3; var ptr = allocator.allocate_memory(size); if (!ptr) throw Error(); - if (ptrs.indexOf(ptr) >= 0) throw Error(); + if ((ptr & 7) != 0) throw Error("invalid alignment: " + (ptr & 7) + " on " + ptr); + if (ptrs.indexOf(ptr) >= 0) throw Error("duplicate pointer"); if (allocator.set_memory) allocator.set_memory(ptr, 0xdc, size); ptrs.push(ptr); diff --git a/tests/allocators/tlsf/tlsf.optimized.wat b/tests/allocators/tlsf/tlsf.optimized.wat index ebdabc8c..9c4d593b 100644 --- a/tests/allocators/tlsf/tlsf.optimized.wat +++ b/tests/allocators/tlsf/tlsf.optimized.wat @@ -6,78 +6,76 @@ (type $iiii (func (param i32 i32 i32) (result i32))) (type $iii (func (param i32 i32) (result i32))) (type $iv (func (param i32))) - (type $v (func)) (global "$(lib)/allocator/tlsf/ROOT" (mut i32) (i32.const 0)) (global $HEAP_BASE i32 (i32.const 4)) (memory $0 1) (export "allocate_memory" (func "$(lib)/allocator/tlsf/allocate_memory")) (export "free_memory" (func "$(lib)/allocator/tlsf/free_memory")) (export "memory" (memory $0)) - (start $start) (func "$(lib)/allocator/tlsf/Root#set:tailRef" (; 0 ;) (type $iiv) (param $0 i32) (param $1 i32) - ;;@ (lib)/allocator/tlsf.ts:174:30 + ;;@ (lib)/allocator/tlsf.ts:177:30 (i32.store - ;;@ (lib)/allocator/tlsf.ts:174:43 - (i32.const 3040) - ;;@ (lib)/allocator/tlsf.ts:174:46 + ;;@ (lib)/allocator/tlsf.ts:177:43 + (i32.const 2912) + ;;@ (lib)/allocator/tlsf.ts:177:46 (get_local $1) ) ) (func "$(lib)/allocator/tlsf/Root#setSLMap" (; 1 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) - ;;@ (lib)/allocator/tlsf.ts:138:4 + ;;@ (lib)/allocator/tlsf.ts:141:4 (i32.store offset=4 - ;;@ (lib)/allocator/tlsf.ts:138:15 + ;;@ (lib)/allocator/tlsf.ts:141:15 (i32.add (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:138:41 + ;;@ (lib)/allocator/tlsf.ts:141:41 (i32.shl (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:138:46 + ;;@ (lib)/allocator/tlsf.ts:141:46 (i32.const 2) ) ) - ;;@ (lib)/allocator/tlsf.ts:138:49 + ;;@ (lib)/allocator/tlsf.ts:141:49 (get_local $2) ) ) (func "$(lib)/allocator/tlsf/Root#setHead" (; 2 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - ;;@ (lib)/allocator/tlsf.ts:162:4 + ;;@ (lib)/allocator/tlsf.ts:165:4 (i32.store offset=96 - ;;@ (lib)/allocator/tlsf.ts:163:6 + ;;@ (lib)/allocator/tlsf.ts:166:6 (i32.add (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:163:32 + ;;@ (lib)/allocator/tlsf.ts:166:32 (i32.shl (i32.add - ;;@ (lib)/allocator/tlsf.ts:163:33 + ;;@ (lib)/allocator/tlsf.ts:166:33 (i32.shl (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:163:38 + ;;@ (lib)/allocator/tlsf.ts:166:38 (i32.const 5) ) - ;;@ (lib)/allocator/tlsf.ts:163:48 + ;;@ (lib)/allocator/tlsf.ts:166:48 (get_local $2) ) - ;;@ (lib)/allocator/tlsf.ts:163:61 + ;;@ (lib)/allocator/tlsf.ts:166:61 (i32.const 2) ) ) - ;;@ (lib)/allocator/tlsf.ts:164:6 + ;;@ (lib)/allocator/tlsf.ts:167:6 (get_local $3) ) ) (func "$(lib)/allocator/tlsf/Block#get:right" (; 3 ;) (type $ii) (param $0 i32) (result i32) - ;;@ (lib)/allocator/tlsf.ts:83:11 + ;;@ (lib)/allocator/tlsf.ts:86:11 (i32.add - ;;@ (lib)/allocator/tlsf.ts:85:8 + ;;@ (lib)/allocator/tlsf.ts:88:8 (i32.add (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:85:34 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:88:34 + (i32.const 8) ) - ;;@ (lib)/allocator/tlsf.ts:85:47 + ;;@ (lib)/allocator/tlsf.ts:88:47 (i32.and - ;;@ (lib)/allocator/tlsf.ts:85:48 + ;;@ (lib)/allocator/tlsf.ts:88:48 (i32.load (get_local $0) ) @@ -86,50 +84,50 @@ ) ) (func "$(lib)/allocator/tlsf/fls" (; 4 ;) (type $ii) (param $0 i32) (result i32) - ;;@ (lib)/allocator/tlsf.ts:423:9 + ;;@ (lib)/allocator/tlsf.ts:426:9 (i32.sub (i32.const 31) - ;;@ (lib)/allocator/tlsf.ts:423:15 + ;;@ (lib)/allocator/tlsf.ts:426:15 (i32.clz - ;;@ (lib)/allocator/tlsf.ts:423:22 + ;;@ (lib)/allocator/tlsf.ts:426:22 (get_local $0) ) ) ) (func "$(lib)/allocator/tlsf/Root#getHead" (; 5 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - ;;@ (lib)/allocator/tlsf.ts:153:11 + ;;@ (lib)/allocator/tlsf.ts:156:11 (i32.load offset=96 - ;;@ (lib)/allocator/tlsf.ts:154:6 + ;;@ (lib)/allocator/tlsf.ts:157:6 (i32.add (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:154:32 + ;;@ (lib)/allocator/tlsf.ts:157:32 (i32.shl (i32.add - ;;@ (lib)/allocator/tlsf.ts:154:33 + ;;@ (lib)/allocator/tlsf.ts:157:33 (i32.shl (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:154:38 + ;;@ (lib)/allocator/tlsf.ts:157:38 (i32.const 5) ) - ;;@ (lib)/allocator/tlsf.ts:154:48 + ;;@ (lib)/allocator/tlsf.ts:157:48 (get_local $2) ) - ;;@ (lib)/allocator/tlsf.ts:154:61 + ;;@ (lib)/allocator/tlsf.ts:157:61 (i32.const 2) ) ) ) ) (func "$(lib)/allocator/tlsf/Root#getSLMap" (; 6 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - ;;@ (lib)/allocator/tlsf.ts:132:11 + ;;@ (lib)/allocator/tlsf.ts:135:11 (i32.load offset=4 - ;;@ (lib)/allocator/tlsf.ts:132:21 + ;;@ (lib)/allocator/tlsf.ts:135:21 (i32.add (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:132:47 + ;;@ (lib)/allocator/tlsf.ts:135:47 (i32.shl (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:132:52 + ;;@ (lib)/allocator/tlsf.ts:135:52 (i32.const 2) ) ) @@ -141,60 +139,60 @@ (local $4 i32) (local $5 i32) (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:257:4 + ;;@ (lib)/allocator/tlsf.ts:260:4 (if (result i32) - ;;@ (lib)/allocator/tlsf.ts:257:8 + ;;@ (lib)/allocator/tlsf.ts:260:8 (i32.lt_u - ;;@ (lib)/allocator/tlsf.ts:252:4 + ;;@ (lib)/allocator/tlsf.ts:255:4 (tee_local $2 - ;;@ (lib)/allocator/tlsf.ts:252:15 + ;;@ (lib)/allocator/tlsf.ts:255:15 (i32.and - ;;@ (lib)/allocator/tlsf.ts:250:20 + ;;@ (lib)/allocator/tlsf.ts:253:20 (i32.load (get_local $1) ) (i32.const -4) ) ) - ;;@ (lib)/allocator/tlsf.ts:257:15 - (i32.const 128) + ;;@ (lib)/allocator/tlsf.ts:260:15 + (i32.const 256) ) - ;;@ (lib)/allocator/tlsf.ts:257:24 - (block (result i32) - ;;@ (lib)/allocator/tlsf.ts:259:6 - (set_local $4 - ;;@ (lib)/allocator/tlsf.ts:259:11 - (i32.div_u - ;;@ (lib)/allocator/tlsf.ts:259:17 - (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:259:24 - (i32.const 4) - ) - ) - ;;@ (lib)/allocator/tlsf.ts:258:11 - (i32.const 0) - ) - ;;@ (lib)/allocator/tlsf.ts:260:11 + ;;@ (lib)/allocator/tlsf.ts:260:24 (block (result i32) ;;@ (lib)/allocator/tlsf.ts:262:6 (set_local $4 ;;@ (lib)/allocator/tlsf.ts:262:11 - (i32.xor + (i32.div_u ;;@ (lib)/allocator/tlsf.ts:262:17 + (get_local $2) + ;;@ (lib)/allocator/tlsf.ts:262:24 + (i32.const 8) + ) + ) + ;;@ (lib)/allocator/tlsf.ts:261:11 + (i32.const 0) + ) + ;;@ (lib)/allocator/tlsf.ts:263:11 + (block (result i32) + ;;@ (lib)/allocator/tlsf.ts:265:6 + (set_local $4 + ;;@ (lib)/allocator/tlsf.ts:265:11 + (i32.xor + ;;@ (lib)/allocator/tlsf.ts:265:17 (i32.shr_u - ;;@ (lib)/allocator/tlsf.ts:262:18 + ;;@ (lib)/allocator/tlsf.ts:265:18 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:262:26 + ;;@ (lib)/allocator/tlsf.ts:265:26 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:261:6 + ;;@ (lib)/allocator/tlsf.ts:264:6 (tee_local $3 - ;;@ (lib)/allocator/tlsf.ts:261:11 + ;;@ (lib)/allocator/tlsf.ts:264:11 (call "$(lib)/allocator/tlsf/fls" - ;;@ (lib)/allocator/tlsf.ts:261:22 + ;;@ (lib)/allocator/tlsf.ts:264:22 (get_local $2) ) ) - ;;@ (lib)/allocator/tlsf.ts:262:32 + ;;@ (lib)/allocator/tlsf.ts:265:32 (i32.const 5) ) ) @@ -202,108 +200,108 @@ ) ) (i32.sub - ;;@ (lib)/allocator/tlsf.ts:263:6 + ;;@ (lib)/allocator/tlsf.ts:266:6 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:263:12 - (i32.const 6) + ;;@ (lib)/allocator/tlsf.ts:266:12 + (i32.const 7) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:268:4 + ;;@ (lib)/allocator/tlsf.ts:271:4 (set_local $2 - ;;@ (lib)/allocator/tlsf.ts:268:15 + ;;@ (lib)/allocator/tlsf.ts:271:15 (i32.load offset=8 (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:269:4 + ;;@ (lib)/allocator/tlsf.ts:272:4 (if - ;;@ (lib)/allocator/tlsf.ts:267:4 + ;;@ (lib)/allocator/tlsf.ts:270:4 (tee_local $5 - ;;@ (lib)/allocator/tlsf.ts:267:15 + ;;@ (lib)/allocator/tlsf.ts:270:15 (i32.load offset=4 (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:269:14 + ;;@ (lib)/allocator/tlsf.ts:272:14 (i32.store offset=8 (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:269:26 + ;;@ (lib)/allocator/tlsf.ts:272:26 (get_local $2) ) ) - ;;@ (lib)/allocator/tlsf.ts:270:4 - (if - ;;@ (lib)/allocator/tlsf.ts:270:8 - (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:270:14 - (i32.store offset=4 - (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:270:26 - (get_local $5) - ) - ) ;;@ (lib)/allocator/tlsf.ts:273:4 (if ;;@ (lib)/allocator/tlsf.ts:273:8 + (get_local $2) + ;;@ (lib)/allocator/tlsf.ts:273:14 + (i32.store offset=4 + (get_local $2) + ;;@ (lib)/allocator/tlsf.ts:273:26 + (get_local $5) + ) + ) + ;;@ (lib)/allocator/tlsf.ts:276:4 + (if + ;;@ (lib)/allocator/tlsf.ts:276:8 (i32.eq (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:273:22 + ;;@ (lib)/allocator/tlsf.ts:276:22 (call "$(lib)/allocator/tlsf/Root#getHead" - ;;@ (lib)/allocator/tlsf.ts:273:17 + ;;@ (lib)/allocator/tlsf.ts:276:17 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:273:30 + ;;@ (lib)/allocator/tlsf.ts:276:30 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:273:34 + ;;@ (lib)/allocator/tlsf.ts:276:34 (get_local $4) ) ) - ;;@ (lib)/allocator/tlsf.ts:273:39 + ;;@ (lib)/allocator/tlsf.ts:276:39 (block - ;;@ (lib)/allocator/tlsf.ts:274:11 + ;;@ (lib)/allocator/tlsf.ts:277:11 (call "$(lib)/allocator/tlsf/Root#setHead" - ;;@ (lib)/allocator/tlsf.ts:274:6 + ;;@ (lib)/allocator/tlsf.ts:277:6 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:274:19 + ;;@ (lib)/allocator/tlsf.ts:277:19 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:274:23 + ;;@ (lib)/allocator/tlsf.ts:277:23 (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:274:27 + ;;@ (lib)/allocator/tlsf.ts:277:27 (get_local $2) ) - ;;@ (lib)/allocator/tlsf.ts:277:6 + ;;@ (lib)/allocator/tlsf.ts:280:6 (if - ;;@ (lib)/allocator/tlsf.ts:277:10 + ;;@ (lib)/allocator/tlsf.ts:280:10 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:277:11 + ;;@ (lib)/allocator/tlsf.ts:280:11 (get_local $2) ) - ;;@ (lib)/allocator/tlsf.ts:277:17 + ;;@ (lib)/allocator/tlsf.ts:280:17 (block - ;;@ (lib)/allocator/tlsf.ts:279:13 + ;;@ (lib)/allocator/tlsf.ts:282:13 (call "$(lib)/allocator/tlsf/Root#setSLMap" - ;;@ (lib)/allocator/tlsf.ts:279:8 + ;;@ (lib)/allocator/tlsf.ts:282:8 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:279:22 + ;;@ (lib)/allocator/tlsf.ts:282:22 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:279:26 + ;;@ (lib)/allocator/tlsf.ts:282:26 (tee_local $1 (i32.and - ;;@ (lib)/allocator/tlsf.ts:278:25 + ;;@ (lib)/allocator/tlsf.ts:281:25 (call "$(lib)/allocator/tlsf/Root#getSLMap" - ;;@ (lib)/allocator/tlsf.ts:278:20 + ;;@ (lib)/allocator/tlsf.ts:281:20 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:278:34 + ;;@ (lib)/allocator/tlsf.ts:281:34 (get_local $3) ) - ;;@ (lib)/allocator/tlsf.ts:279:35 + ;;@ (lib)/allocator/tlsf.ts:282:35 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:279:36 + ;;@ (lib)/allocator/tlsf.ts:282:36 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:279:37 + ;;@ (lib)/allocator/tlsf.ts:282:37 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:279:42 + ;;@ (lib)/allocator/tlsf.ts:282:42 (get_local $4) ) (i32.const -1) @@ -311,27 +309,27 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:282:8 + ;;@ (lib)/allocator/tlsf.ts:285:8 (if - ;;@ (lib)/allocator/tlsf.ts:282:12 + ;;@ (lib)/allocator/tlsf.ts:285:12 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:282:13 + ;;@ (lib)/allocator/tlsf.ts:285:13 (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:282:20 + ;;@ (lib)/allocator/tlsf.ts:285:20 (i32.store (get_local $0) (i32.and (i32.load (get_local $0) ) - ;;@ (lib)/allocator/tlsf.ts:282:34 + ;;@ (lib)/allocator/tlsf.ts:285:34 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:282:35 + ;;@ (lib)/allocator/tlsf.ts:285:35 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:282:36 + ;;@ (lib)/allocator/tlsf.ts:285:36 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:282:41 + ;;@ (lib)/allocator/tlsf.ts:285:41 (get_local $3) ) (i32.const -1) @@ -349,72 +347,72 @@ (local $3 i32) (local $4 i32) (local $5 i32) - ;;@ (lib)/allocator/tlsf.ts:183:4 + ;;@ (lib)/allocator/tlsf.ts:186:4 (set_local $2 - ;;@ (lib)/allocator/tlsf.ts:183:20 + ;;@ (lib)/allocator/tlsf.ts:186:20 (i32.load (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:194:4 + ;;@ (lib)/allocator/tlsf.ts:197:4 (if - ;;@ (lib)/allocator/tlsf.ts:194:8 + ;;@ (lib)/allocator/tlsf.ts:197:8 (i32.and - ;;@ (lib)/allocator/tlsf.ts:191:4 + ;;@ (lib)/allocator/tlsf.ts:194:4 (tee_local $5 - ;;@ (lib)/allocator/tlsf.ts:191:20 + ;;@ (lib)/allocator/tlsf.ts:194:20 (i32.load - ;;@ (lib)/allocator/tlsf.ts:190:4 + ;;@ (lib)/allocator/tlsf.ts:193:4 (tee_local $4 - ;;@ (lib)/allocator/tlsf.ts:190:23 + ;;@ (lib)/allocator/tlsf.ts:193:23 (call "$(lib)/allocator/tlsf/Block#get:right" - ;;@ (lib)/allocator/tlsf.ts:190:30 + ;;@ (lib)/allocator/tlsf.ts:193:30 (get_local $1) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:194:20 + ;;@ (lib)/allocator/tlsf.ts:197:20 (i32.const 1) ) - ;;@ (lib)/allocator/tlsf.ts:194:26 + ;;@ (lib)/allocator/tlsf.ts:197:26 (block - ;;@ (lib)/allocator/tlsf.ts:195:11 + ;;@ (lib)/allocator/tlsf.ts:198:11 (call "$(lib)/allocator/tlsf/Root#remove" - ;;@ (lib)/allocator/tlsf.ts:195:6 + ;;@ (lib)/allocator/tlsf.ts:198:6 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:195:18 + ;;@ (lib)/allocator/tlsf.ts:198:18 (get_local $4) ) - ;;@ (lib)/allocator/tlsf.ts:196:6 + ;;@ (lib)/allocator/tlsf.ts:199:6 (i32.store (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:196:19 + ;;@ (lib)/allocator/tlsf.ts:199:19 (tee_local $2 (i32.add - ;;@ (lib)/allocator/tlsf.ts:196:20 + ;;@ (lib)/allocator/tlsf.ts:199:20 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:196:33 + ;;@ (lib)/allocator/tlsf.ts:199:33 (i32.add - ;;@ (lib)/allocator/tlsf.ts:196:46 + ;;@ (lib)/allocator/tlsf.ts:199:46 (i32.and - ;;@ (lib)/allocator/tlsf.ts:196:47 + ;;@ (lib)/allocator/tlsf.ts:199:47 (get_local $5) (i32.const -4) ) - ;;@ (lib)/allocator/tlsf.ts:196:33 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:199:33 + (i32.const 8) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:198:6 + ;;@ (lib)/allocator/tlsf.ts:201:6 (set_local $5 - ;;@ (lib)/allocator/tlsf.ts:198:18 + ;;@ (lib)/allocator/tlsf.ts:201:18 (i32.load - ;;@ (lib)/allocator/tlsf.ts:197:6 + ;;@ (lib)/allocator/tlsf.ts:200:6 (tee_local $4 - ;;@ (lib)/allocator/tlsf.ts:197:14 + ;;@ (lib)/allocator/tlsf.ts:200:14 (call "$(lib)/allocator/tlsf/Block#get:right" (get_local $1) ) @@ -423,21 +421,21 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:203:4 + ;;@ (lib)/allocator/tlsf.ts:206:4 (if - ;;@ (lib)/allocator/tlsf.ts:203:8 + ;;@ (lib)/allocator/tlsf.ts:206:8 (i32.and (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:203:20 + ;;@ (lib)/allocator/tlsf.ts:206:20 (i32.const 2) ) - ;;@ (lib)/allocator/tlsf.ts:203:31 + ;;@ (lib)/allocator/tlsf.ts:206:31 (block - ;;@ (lib)/allocator/tlsf.ts:205:6 + ;;@ (lib)/allocator/tlsf.ts:208:6 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:205:21 + ;;@ (lib)/allocator/tlsf.ts:208:21 (i32.load - ;;@ (lib)/allocator/tlsf.ts:204:6 + ;;@ (lib)/allocator/tlsf.ts:207:6 (tee_local $1 (i32.load (i32.sub @@ -448,49 +446,49 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:207:11 + ;;@ (lib)/allocator/tlsf.ts:210:11 (call "$(lib)/allocator/tlsf/Root#remove" - ;;@ (lib)/allocator/tlsf.ts:207:6 + ;;@ (lib)/allocator/tlsf.ts:210:6 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:207:18 + ;;@ (lib)/allocator/tlsf.ts:210:18 (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:208:6 + ;;@ (lib)/allocator/tlsf.ts:211:6 (i32.store (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:208:18 + ;;@ (lib)/allocator/tlsf.ts:211:18 (tee_local $3 (i32.add - ;;@ (lib)/allocator/tlsf.ts:208:19 + ;;@ (lib)/allocator/tlsf.ts:211:19 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:208:31 + ;;@ (lib)/allocator/tlsf.ts:211:31 (i32.add - ;;@ (lib)/allocator/tlsf.ts:208:44 + ;;@ (lib)/allocator/tlsf.ts:211:44 (i32.and - ;;@ (lib)/allocator/tlsf.ts:208:45 + ;;@ (lib)/allocator/tlsf.ts:211:45 (get_local $2) (i32.const -4) ) - ;;@ (lib)/allocator/tlsf.ts:208:31 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:211:31 + (i32.const 8) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:210:6 + ;;@ (lib)/allocator/tlsf.ts:213:6 (set_local $2 - ;;@ (lib)/allocator/tlsf.ts:210:18 + ;;@ (lib)/allocator/tlsf.ts:213:18 (get_local $3) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:214:4 + ;;@ (lib)/allocator/tlsf.ts:217:4 (i32.store (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:214:17 + ;;@ (lib)/allocator/tlsf.ts:217:17 (i32.or (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:214:29 + ;;@ (lib)/allocator/tlsf.ts:217:29 (i32.const 2) ) ) @@ -500,68 +498,68 @@ (i32.const 4) ) (tee_local $3 - ;;@ (lib)/allocator/tlsf.ts:215:17 + ;;@ (lib)/allocator/tlsf.ts:218:17 (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:233:4 + ;;@ (lib)/allocator/tlsf.ts:236:4 (set_local $4 - ;;@ (lib)/allocator/tlsf.ts:233:20 + ;;@ (lib)/allocator/tlsf.ts:236:20 (call "$(lib)/allocator/tlsf/Root#getHead" - ;;@ (lib)/allocator/tlsf.ts:233:15 + ;;@ (lib)/allocator/tlsf.ts:236:15 (get_local $0) (tee_local $2 - ;;@ (lib)/allocator/tlsf.ts:223:4 + ;;@ (lib)/allocator/tlsf.ts:226:4 (if (result i32) - ;;@ (lib)/allocator/tlsf.ts:223:8 + ;;@ (lib)/allocator/tlsf.ts:226:8 (i32.lt_u - ;;@ (lib)/allocator/tlsf.ts:218:4 + ;;@ (lib)/allocator/tlsf.ts:221:4 (tee_local $3 - ;;@ (lib)/allocator/tlsf.ts:218:11 + ;;@ (lib)/allocator/tlsf.ts:221:11 (i32.and (get_local $2) (i32.const -4) ) ) - ;;@ (lib)/allocator/tlsf.ts:223:15 - (i32.const 128) + ;;@ (lib)/allocator/tlsf.ts:226:15 + (i32.const 256) ) - ;;@ (lib)/allocator/tlsf.ts:223:24 - (block (result i32) - ;;@ (lib)/allocator/tlsf.ts:225:6 - (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:225:11 - (i32.div_u - ;;@ (lib)/allocator/tlsf.ts:225:17 - (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:225:24 - (i32.const 4) - ) - ) - ;;@ (lib)/allocator/tlsf.ts:224:11 - (i32.const 0) - ) - ;;@ (lib)/allocator/tlsf.ts:226:11 + ;;@ (lib)/allocator/tlsf.ts:226:24 (block (result i32) ;;@ (lib)/allocator/tlsf.ts:228:6 (set_local $3 ;;@ (lib)/allocator/tlsf.ts:228:11 - (i32.xor + (i32.div_u ;;@ (lib)/allocator/tlsf.ts:228:17 + (get_local $3) + ;;@ (lib)/allocator/tlsf.ts:228:24 + (i32.const 8) + ) + ) + ;;@ (lib)/allocator/tlsf.ts:227:11 + (i32.const 0) + ) + ;;@ (lib)/allocator/tlsf.ts:229:11 + (block (result i32) + ;;@ (lib)/allocator/tlsf.ts:231:6 + (set_local $3 + ;;@ (lib)/allocator/tlsf.ts:231:11 + (i32.xor + ;;@ (lib)/allocator/tlsf.ts:231:17 (i32.shr_u - ;;@ (lib)/allocator/tlsf.ts:228:18 + ;;@ (lib)/allocator/tlsf.ts:231:18 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:228:26 + ;;@ (lib)/allocator/tlsf.ts:231:26 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:227:6 + ;;@ (lib)/allocator/tlsf.ts:230:6 (tee_local $2 - ;;@ (lib)/allocator/tlsf.ts:227:11 + ;;@ (lib)/allocator/tlsf.ts:230:11 (call "$(lib)/allocator/tlsf/fls" - ;;@ (lib)/allocator/tlsf.ts:227:22 + ;;@ (lib)/allocator/tlsf.ts:230:22 (get_local $3) ) ) - ;;@ (lib)/allocator/tlsf.ts:228:32 + ;;@ (lib)/allocator/tlsf.ts:231:32 (i32.const 5) ) ) @@ -569,88 +567,88 @@ ) ) (i32.sub - ;;@ (lib)/allocator/tlsf.ts:229:6 + ;;@ (lib)/allocator/tlsf.ts:232:6 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:229:12 - (i32.const 6) + ;;@ (lib)/allocator/tlsf.ts:232:12 + (i32.const 7) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:233:32 + ;;@ (lib)/allocator/tlsf.ts:236:32 (get_local $3) ) ) - ;;@ (lib)/allocator/tlsf.ts:234:4 + ;;@ (lib)/allocator/tlsf.ts:237:4 (i32.store offset=4 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:234:17 + ;;@ (lib)/allocator/tlsf.ts:237:17 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:235:4 + ;;@ (lib)/allocator/tlsf.ts:238:4 (i32.store offset=8 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:235:17 + ;;@ (lib)/allocator/tlsf.ts:238:17 (get_local $4) ) - ;;@ (lib)/allocator/tlsf.ts:236:4 + ;;@ (lib)/allocator/tlsf.ts:239:4 (if - ;;@ (lib)/allocator/tlsf.ts:236:8 + ;;@ (lib)/allocator/tlsf.ts:239:8 (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:236:14 + ;;@ (lib)/allocator/tlsf.ts:239:14 (i32.store offset=4 (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:236:26 + ;;@ (lib)/allocator/tlsf.ts:239:26 (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:237:9 + ;;@ (lib)/allocator/tlsf.ts:240:9 (call "$(lib)/allocator/tlsf/Root#setHead" - ;;@ (lib)/allocator/tlsf.ts:237:4 + ;;@ (lib)/allocator/tlsf.ts:240:4 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:237:17 + ;;@ (lib)/allocator/tlsf.ts:240:17 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:237:21 + ;;@ (lib)/allocator/tlsf.ts:240:21 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:237:25 + ;;@ (lib)/allocator/tlsf.ts:240:25 (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:240:4 + ;;@ (lib)/allocator/tlsf.ts:243:4 (i32.store (get_local $0) (i32.or (i32.load (get_local $0) ) - ;;@ (lib)/allocator/tlsf.ts:240:18 + ;;@ (lib)/allocator/tlsf.ts:243:18 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:240:19 + ;;@ (lib)/allocator/tlsf.ts:243:19 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:240:24 + ;;@ (lib)/allocator/tlsf.ts:243:24 (get_local $2) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:241:9 + ;;@ (lib)/allocator/tlsf.ts:244:9 (call "$(lib)/allocator/tlsf/Root#setSLMap" - ;;@ (lib)/allocator/tlsf.ts:241:4 + ;;@ (lib)/allocator/tlsf.ts:244:4 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:241:18 + ;;@ (lib)/allocator/tlsf.ts:244:18 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:241:22 + ;;@ (lib)/allocator/tlsf.ts:244:22 (i32.or - ;;@ (lib)/allocator/tlsf.ts:241:27 + ;;@ (lib)/allocator/tlsf.ts:244:27 (call "$(lib)/allocator/tlsf/Root#getSLMap" - ;;@ (lib)/allocator/tlsf.ts:241:22 + ;;@ (lib)/allocator/tlsf.ts:244:22 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:241:36 + ;;@ (lib)/allocator/tlsf.ts:244:36 (get_local $2) ) - ;;@ (lib)/allocator/tlsf.ts:241:42 + ;;@ (lib)/allocator/tlsf.ts:244:42 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:241:43 + ;;@ (lib)/allocator/tlsf.ts:244:43 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:241:48 + ;;@ (lib)/allocator/tlsf.ts:244:48 (get_local $3) ) ) @@ -659,39 +657,39 @@ (func "$(lib)/allocator/tlsf/Root#addMemory" (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - ;;@ (lib)/allocator/tlsf.ts:376:4 + ;;@ (lib)/allocator/tlsf.ts:379:4 (if - ;;@ (lib)/allocator/tlsf.ts:374:4 + ;;@ (lib)/allocator/tlsf.ts:377:4 (tee_local $3 (i32.load - (i32.const 3040) + (i32.const 2912) ) ) - ;;@ (lib)/allocator/tlsf.ts:380:6 + ;;@ (lib)/allocator/tlsf.ts:383:6 (if - ;;@ (lib)/allocator/tlsf.ts:380:10 + ;;@ (lib)/allocator/tlsf.ts:383:10 (i32.eq (i32.sub (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:380:18 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:383:18 + (i32.const 8) ) - ;;@ (lib)/allocator/tlsf.ts:380:32 + ;;@ (lib)/allocator/tlsf.ts:383:32 (get_local $3) ) - ;;@ (lib)/allocator/tlsf.ts:380:41 + ;;@ (lib)/allocator/tlsf.ts:383:41 (block - ;;@ (lib)/allocator/tlsf.ts:381:8 + ;;@ (lib)/allocator/tlsf.ts:384:8 (set_local $1 (i32.sub (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:381:17 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:384:17 + (i32.const 8) ) ) - ;;@ (lib)/allocator/tlsf.ts:382:8 + ;;@ (lib)/allocator/tlsf.ts:385:8 (set_local $4 - ;;@ (lib)/allocator/tlsf.ts:382:19 + ;;@ (lib)/allocator/tlsf.ts:385:19 (i32.load (get_local $3) ) @@ -699,244 +697,244 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:391:4 + ;;@ (lib)/allocator/tlsf.ts:394:4 (if - ;;@ (lib)/allocator/tlsf.ts:391:8 + ;;@ (lib)/allocator/tlsf.ts:394:8 (i32.lt_u - ;;@ (lib)/allocator/tlsf.ts:390:4 + ;;@ (lib)/allocator/tlsf.ts:393:4 (tee_local $3 - ;;@ (lib)/allocator/tlsf.ts:390:15 + ;;@ (lib)/allocator/tlsf.ts:393:15 (i32.sub (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:390:21 + ;;@ (lib)/allocator/tlsf.ts:393:21 (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:391:45 - (i32.const 20) + ;;@ (lib)/allocator/tlsf.ts:394:45 + (i32.const 32) ) - ;;@ (lib)/allocator/tlsf.ts:392:13 + ;;@ (lib)/allocator/tlsf.ts:395:13 (return (i32.const 0) ) ) - ;;@ (lib)/allocator/tlsf.ts:398:4 + ;;@ (lib)/allocator/tlsf.ts:401:4 (i32.store - ;;@ (lib)/allocator/tlsf.ts:397:4 + ;;@ (lib)/allocator/tlsf.ts:400:4 (tee_local $2 - ;;@ (lib)/allocator/tlsf.ts:397:15 + ;;@ (lib)/allocator/tlsf.ts:400:15 (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:398:16 + ;;@ (lib)/allocator/tlsf.ts:401:16 (i32.or (i32.or - ;;@ (lib)/allocator/tlsf.ts:396:19 + ;;@ (lib)/allocator/tlsf.ts:399:19 (i32.sub (get_local $3) - (i32.const 8) + (i32.const 16) ) - ;;@ (lib)/allocator/tlsf.ts:398:27 + ;;@ (lib)/allocator/tlsf.ts:401:27 (i32.const 1) ) - ;;@ (lib)/allocator/tlsf.ts:398:34 + ;;@ (lib)/allocator/tlsf.ts:401:34 (i32.and - ;;@ (lib)/allocator/tlsf.ts:398:35 + ;;@ (lib)/allocator/tlsf.ts:401:35 (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:398:46 + ;;@ (lib)/allocator/tlsf.ts:401:46 (i32.const 2) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:399:4 + ;;@ (lib)/allocator/tlsf.ts:402:4 (i32.store offset=4 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:399:16 + ;;@ (lib)/allocator/tlsf.ts:402:16 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:400:4 + ;;@ (lib)/allocator/tlsf.ts:403:4 (i32.store offset=8 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:400:16 + ;;@ (lib)/allocator/tlsf.ts:403:16 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:404:4 + ;;@ (lib)/allocator/tlsf.ts:407:4 (i32.store - ;;@ (lib)/allocator/tlsf.ts:403:4 + ;;@ (lib)/allocator/tlsf.ts:406:4 (tee_local $1 - ;;@ (lib)/allocator/tlsf.ts:403:15 + ;;@ (lib)/allocator/tlsf.ts:406:15 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:403:33 + ;;@ (lib)/allocator/tlsf.ts:406:33 (i32.add (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:403:41 + ;;@ (lib)/allocator/tlsf.ts:406:41 (get_local $3) ) - ;;@ (lib)/allocator/tlsf.ts:403:48 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:406:48 + (i32.const 8) ) ) (i32.const 2) ) - ;;@ (lib)/allocator/tlsf.ts:405:4 + ;;@ (lib)/allocator/tlsf.ts:408:4 (call "$(lib)/allocator/tlsf/Root#set:tailRef" (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:405:19 + ;;@ (lib)/allocator/tlsf.ts:408:19 (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:407:9 + ;;@ (lib)/allocator/tlsf.ts:410:9 (call "$(lib)/allocator/tlsf/Root#insert" - ;;@ (lib)/allocator/tlsf.ts:407:4 + ;;@ (lib)/allocator/tlsf.ts:410:4 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:407:16 + ;;@ (lib)/allocator/tlsf.ts:410:16 (get_local $2) ) - ;;@ (lib)/allocator/tlsf.ts:409:11 + ;;@ (lib)/allocator/tlsf.ts:412:11 (i32.const 1) ) (func "$(lib)/allocator/tlsf/Root#search" (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (set_local $1 - ;;@ (lib)/allocator/tlsf.ts:293:4 + ;;@ (lib)/allocator/tlsf.ts:296:4 (if (result i32) - ;;@ (lib)/allocator/tlsf.ts:293:8 + ;;@ (lib)/allocator/tlsf.ts:296:8 (i32.lt_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:293:15 - (i32.const 128) + ;;@ (lib)/allocator/tlsf.ts:296:15 + (i32.const 256) ) - ;;@ (lib)/allocator/tlsf.ts:295:11 + ;;@ (lib)/allocator/tlsf.ts:298:11 (i32.div_u - ;;@ (lib)/allocator/tlsf.ts:295:17 + ;;@ (lib)/allocator/tlsf.ts:298:17 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:295:24 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:298:24 + (i32.const 8) ) - ;;@ (lib)/allocator/tlsf.ts:296:11 + ;;@ (lib)/allocator/tlsf.ts:299:11 (block (result i32) - ;;@ (lib)/allocator/tlsf.ts:299:6 + ;;@ (lib)/allocator/tlsf.ts:302:6 (set_local $1 - ;;@ (lib)/allocator/tlsf.ts:299:11 + ;;@ (lib)/allocator/tlsf.ts:302:11 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:299:17 + ;;@ (lib)/allocator/tlsf.ts:302:17 (i32.shr_u - ;;@ (lib)/allocator/tlsf.ts:299:18 + ;;@ (lib)/allocator/tlsf.ts:302:18 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:299:26 + ;;@ (lib)/allocator/tlsf.ts:302:26 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:298:6 + ;;@ (lib)/allocator/tlsf.ts:301:6 (tee_local $2 - ;;@ (lib)/allocator/tlsf.ts:298:11 + ;;@ (lib)/allocator/tlsf.ts:301:11 (call "$(lib)/allocator/tlsf/fls" - ;;@ (lib)/allocator/tlsf.ts:298:22 + ;;@ (lib)/allocator/tlsf.ts:301:22 (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:299:32 + ;;@ (lib)/allocator/tlsf.ts:302:32 (i32.const 5) ) ) (i32.const 32) ) ) - ;;@ (lib)/allocator/tlsf.ts:300:6 + ;;@ (lib)/allocator/tlsf.ts:303:6 (set_local $2 (i32.sub (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:300:12 - (i32.const 6) + ;;@ (lib)/allocator/tlsf.ts:303:12 + (i32.const 7) ) ) - ;;@ (lib)/allocator/tlsf.ts:302:6 + ;;@ (lib)/allocator/tlsf.ts:305:6 (if (result i32) - ;;@ (lib)/allocator/tlsf.ts:302:10 + ;;@ (lib)/allocator/tlsf.ts:305:10 (i32.lt_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:302:15 + ;;@ (lib)/allocator/tlsf.ts:305:15 (i32.const 31) ) (i32.add - ;;@ (lib)/allocator/tlsf.ts:302:30 + ;;@ (lib)/allocator/tlsf.ts:305:30 (get_local $1) (i32.const 1) ) - ;;@ (lib)/allocator/tlsf.ts:303:11 + ;;@ (lib)/allocator/tlsf.ts:306:11 (block (result i32) (set_local $2 (i32.add - ;;@ (lib)/allocator/tlsf.ts:303:13 + ;;@ (lib)/allocator/tlsf.ts:306:13 (get_local $2) (i32.const 1) ) ) - ;;@ (lib)/allocator/tlsf.ts:303:22 + ;;@ (lib)/allocator/tlsf.ts:306:22 (i32.const 0) ) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:309:4 + ;;@ (lib)/allocator/tlsf.ts:312:4 (if (result i32) - ;;@ (lib)/allocator/tlsf.ts:307:4 + ;;@ (lib)/allocator/tlsf.ts:310:4 (tee_local $1 - ;;@ (lib)/allocator/tlsf.ts:307:16 + ;;@ (lib)/allocator/tlsf.ts:310:16 (i32.and - ;;@ (lib)/allocator/tlsf.ts:307:21 + ;;@ (lib)/allocator/tlsf.ts:310:21 (call "$(lib)/allocator/tlsf/Root#getSLMap" - ;;@ (lib)/allocator/tlsf.ts:307:16 + ;;@ (lib)/allocator/tlsf.ts:310:16 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:307:30 + ;;@ (lib)/allocator/tlsf.ts:310:30 (get_local $2) ) - ;;@ (lib)/allocator/tlsf.ts:307:36 + ;;@ (lib)/allocator/tlsf.ts:310:36 (i32.shl (i32.const -1) - ;;@ (lib)/allocator/tlsf.ts:307:43 + ;;@ (lib)/allocator/tlsf.ts:310:43 (get_local $1) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:320:18 + ;;@ (lib)/allocator/tlsf.ts:323:18 (call "$(lib)/allocator/tlsf/Root#getHead" - ;;@ (lib)/allocator/tlsf.ts:320:13 + ;;@ (lib)/allocator/tlsf.ts:323:13 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:320:26 + ;;@ (lib)/allocator/tlsf.ts:323:26 (get_local $2) (i32.ctz (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:312:6 + ;;@ (lib)/allocator/tlsf.ts:315:6 (if (result i32) - ;;@ (lib)/allocator/tlsf.ts:311:6 + ;;@ (lib)/allocator/tlsf.ts:314:6 (tee_local $1 - ;;@ (lib)/allocator/tlsf.ts:311:18 + ;;@ (lib)/allocator/tlsf.ts:314:18 (i32.and (i32.load (get_local $0) ) - ;;@ (lib)/allocator/tlsf.ts:311:31 + ;;@ (lib)/allocator/tlsf.ts:314:31 (i32.shl (i32.const -1) - ;;@ (lib)/allocator/tlsf.ts:311:38 + ;;@ (lib)/allocator/tlsf.ts:314:38 (i32.add - ;;@ (lib)/allocator/tlsf.ts:311:39 + ;;@ (lib)/allocator/tlsf.ts:314:39 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:311:44 + ;;@ (lib)/allocator/tlsf.ts:314:44 (i32.const 1) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:314:13 + ;;@ (lib)/allocator/tlsf.ts:317:13 (block (result i32) - ;;@ (lib)/allocator/tlsf.ts:316:8 + ;;@ (lib)/allocator/tlsf.ts:319:8 (set_local $1 - ;;@ (lib)/allocator/tlsf.ts:316:16 + ;;@ (lib)/allocator/tlsf.ts:319:16 (call "$(lib)/allocator/tlsf/Root#getSLMap" - ;;@ (lib)/allocator/tlsf.ts:316:23 + ;;@ (lib)/allocator/tlsf.ts:319:23 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:315:8 + ;;@ (lib)/allocator/tlsf.ts:318:8 (tee_local $2 (i32.ctz (get_local $1) @@ -944,18 +942,18 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:317:20 + ;;@ (lib)/allocator/tlsf.ts:320:20 (call "$(lib)/allocator/tlsf/Root#getHead" - ;;@ (lib)/allocator/tlsf.ts:317:15 + ;;@ (lib)/allocator/tlsf.ts:320:15 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:317:28 + ;;@ (lib)/allocator/tlsf.ts:320:28 (get_local $2) (i32.ctz (get_local $1) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:313:15 + ;;@ (lib)/allocator/tlsf.ts:316:15 (i32.const 0) ) ) @@ -963,116 +961,116 @@ (func "$(lib)/allocator/tlsf/Root#use" (; 11 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - ;;@ (lib)/allocator/tlsf.ts:340:4 + ;;@ (lib)/allocator/tlsf.ts:343:4 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:340:20 + ;;@ (lib)/allocator/tlsf.ts:343:20 (i32.load (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:345:9 + ;;@ (lib)/allocator/tlsf.ts:348:9 (call "$(lib)/allocator/tlsf/Root#remove" - ;;@ (lib)/allocator/tlsf.ts:345:4 + ;;@ (lib)/allocator/tlsf.ts:348:4 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:345:16 + ;;@ (lib)/allocator/tlsf.ts:348:16 (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:349:4 + ;;@ (lib)/allocator/tlsf.ts:352:4 (if - ;;@ (lib)/allocator/tlsf.ts:349:8 + ;;@ (lib)/allocator/tlsf.ts:352:8 (i32.ge_u - ;;@ (lib)/allocator/tlsf.ts:348:4 + ;;@ (lib)/allocator/tlsf.ts:351:4 (tee_local $4 - ;;@ (lib)/allocator/tlsf.ts:348:20 + ;;@ (lib)/allocator/tlsf.ts:351:20 (i32.sub (i32.and - ;;@ (lib)/allocator/tlsf.ts:348:21 + ;;@ (lib)/allocator/tlsf.ts:351:21 (get_local $3) (i32.const -4) ) - ;;@ (lib)/allocator/tlsf.ts:348:42 + ;;@ (lib)/allocator/tlsf.ts:351:42 (get_local $2) ) ) - ;;@ (lib)/allocator/tlsf.ts:349:34 - (i32.const 16) + ;;@ (lib)/allocator/tlsf.ts:352:34 + (i32.const 24) ) - ;;@ (lib)/allocator/tlsf.ts:349:50 + ;;@ (lib)/allocator/tlsf.ts:352:50 (block - ;;@ (lib)/allocator/tlsf.ts:350:6 + ;;@ (lib)/allocator/tlsf.ts:353:6 (i32.store (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:350:19 + ;;@ (lib)/allocator/tlsf.ts:353:19 (i32.or (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:350:26 + ;;@ (lib)/allocator/tlsf.ts:353:26 (i32.and - ;;@ (lib)/allocator/tlsf.ts:350:27 + ;;@ (lib)/allocator/tlsf.ts:353:27 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:350:39 + ;;@ (lib)/allocator/tlsf.ts:353:39 (i32.const 2) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:355:6 + ;;@ (lib)/allocator/tlsf.ts:358:6 (i32.store - ;;@ (lib)/allocator/tlsf.ts:352:6 + ;;@ (lib)/allocator/tlsf.ts:355:6 (tee_local $2 - ;;@ (lib)/allocator/tlsf.ts:352:18 + ;;@ (lib)/allocator/tlsf.ts:355:18 (i32.add - ;;@ (lib)/allocator/tlsf.ts:353:8 + ;;@ (lib)/allocator/tlsf.ts:356:8 (i32.add (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:353:35 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:356:35 + (i32.const 8) ) - ;;@ (lib)/allocator/tlsf.ts:353:48 + ;;@ (lib)/allocator/tlsf.ts:356:48 (get_local $2) ) ) - ;;@ (lib)/allocator/tlsf.ts:355:19 + ;;@ (lib)/allocator/tlsf.ts:358:19 (i32.or (i32.sub - ;;@ (lib)/allocator/tlsf.ts:355:20 + ;;@ (lib)/allocator/tlsf.ts:358:20 (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:355:32 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:358:32 + (i32.const 8) ) - ;;@ (lib)/allocator/tlsf.ts:355:46 + ;;@ (lib)/allocator/tlsf.ts:358:46 (i32.const 1) ) ) - ;;@ (lib)/allocator/tlsf.ts:356:11 + ;;@ (lib)/allocator/tlsf.ts:359:11 (call "$(lib)/allocator/tlsf/Root#insert" - ;;@ (lib)/allocator/tlsf.ts:356:6 + ;;@ (lib)/allocator/tlsf.ts:359:6 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:356:18 + ;;@ (lib)/allocator/tlsf.ts:359:18 (get_local $2) ) ) - ;;@ (lib)/allocator/tlsf.ts:359:11 + ;;@ (lib)/allocator/tlsf.ts:362:11 (block - ;;@ (lib)/allocator/tlsf.ts:360:6 + ;;@ (lib)/allocator/tlsf.ts:363:6 (i32.store (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:360:19 + ;;@ (lib)/allocator/tlsf.ts:363:19 (i32.and (get_local $3) (i32.const -2) ) ) - ;;@ (lib)/allocator/tlsf.ts:362:6 + ;;@ (lib)/allocator/tlsf.ts:365:6 (i32.store - ;;@ (lib)/allocator/tlsf.ts:361:6 + ;;@ (lib)/allocator/tlsf.ts:364:6 (tee_local $0 - ;;@ (lib)/allocator/tlsf.ts:361:25 + ;;@ (lib)/allocator/tlsf.ts:364:25 (call "$(lib)/allocator/tlsf/Block#get:right" - ;;@ (lib)/allocator/tlsf.ts:361:32 + ;;@ (lib)/allocator/tlsf.ts:364:32 (get_local $1) ) ) (i32.and - ;;@ (lib)/allocator/tlsf.ts:362:6 + ;;@ (lib)/allocator/tlsf.ts:365:6 (i32.load (get_local $0) ) @@ -1081,11 +1079,11 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:365:11 + ;;@ (lib)/allocator/tlsf.ts:368:11 (i32.add (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:365:38 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:368:38 + (i32.const 8) ) ) (func "$(lib)/allocator/tlsf/allocate_memory" (; 12 ;) (type $ii) (param $0 i32) (result i32) @@ -1094,96 +1092,96 @@ (local $3 i32) (local $4 i32) (local $5 i32) - ;;@ (lib)/allocator/tlsf.ts:437:2 + ;;@ (lib)/allocator/tlsf.ts:440:2 (if - ;;@ (lib)/allocator/tlsf.ts:437:6 + ;;@ (lib)/allocator/tlsf.ts:440:6 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:436:2 + ;;@ (lib)/allocator/tlsf.ts:439:2 (tee_local $2 - ;;@ (lib)/allocator/tlsf.ts:436:13 + ;;@ (lib)/allocator/tlsf.ts:439:13 (get_global "$(lib)/allocator/tlsf/ROOT") ) ) - ;;@ (lib)/allocator/tlsf.ts:437:13 + ;;@ (lib)/allocator/tlsf.ts:440:13 (block - ;;@ (lib)/allocator/tlsf.ts:439:4 + ;;@ (lib)/allocator/tlsf.ts:442:4 (set_global "$(lib)/allocator/tlsf/ROOT" - ;;@ (lib)/allocator/tlsf.ts:439:11 + ;;@ (lib)/allocator/tlsf.ts:442:11 (tee_local $2 - ;;@ (lib)/allocator/tlsf.ts:438:4 + ;;@ (lib)/allocator/tlsf.ts:441:4 (tee_local $4 - ;;@ (lib)/allocator/tlsf.ts:438:21 + ;;@ (lib)/allocator/tlsf.ts:441:21 (i32.and (i32.add - ;;@ (lib)/allocator/tlsf.ts:438:22 + ;;@ (lib)/allocator/tlsf.ts:441:22 (get_global $HEAP_BASE) - ;;@ (lib)/allocator/tlsf.ts:438:34 - (i32.const 3) + ;;@ (lib)/allocator/tlsf.ts:441:34 + (i32.const 7) ) - (i32.const -4) + (i32.const -8) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:440:4 + ;;@ (lib)/allocator/tlsf.ts:443:4 (call "$(lib)/allocator/tlsf/Root#set:tailRef" (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:440:19 + ;;@ (lib)/allocator/tlsf.ts:443:19 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:441:4 + ;;@ (lib)/allocator/tlsf.ts:444:4 (i32.store (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:441:17 + ;;@ (lib)/allocator/tlsf.ts:444:17 (i32.const 0) ) (loop $continue|0 (if - ;;@ (lib)/allocator/tlsf.ts:442:28 + ;;@ (lib)/allocator/tlsf.ts:445:28 (i32.lt_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:442:33 - (i32.const 23) + ;;@ (lib)/allocator/tlsf.ts:445:33 + (i32.const 22) ) (block - ;;@ (lib)/allocator/tlsf.ts:443:11 + ;;@ (lib)/allocator/tlsf.ts:446:11 (call "$(lib)/allocator/tlsf/Root#setSLMap" - ;;@ (lib)/allocator/tlsf.ts:443:6 + ;;@ (lib)/allocator/tlsf.ts:446:6 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:443:20 + ;;@ (lib)/allocator/tlsf.ts:446:20 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:443:24 + ;;@ (lib)/allocator/tlsf.ts:446:24 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:444:11 + ;;@ (lib)/allocator/tlsf.ts:447:11 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:444:25 + ;;@ (lib)/allocator/tlsf.ts:447:25 (i32.const 0) ) (loop $continue|1 (if - ;;@ (lib)/allocator/tlsf.ts:444:28 + ;;@ (lib)/allocator/tlsf.ts:447:28 (i32.lt_u (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:444:33 + ;;@ (lib)/allocator/tlsf.ts:447:33 (i32.const 32) ) (block - ;;@ (lib)/allocator/tlsf.ts:445:13 + ;;@ (lib)/allocator/tlsf.ts:448:13 (call "$(lib)/allocator/tlsf/Root#setHead" - ;;@ (lib)/allocator/tlsf.ts:445:8 + ;;@ (lib)/allocator/tlsf.ts:448:8 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:445:21 + ;;@ (lib)/allocator/tlsf.ts:448:21 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:445:25 + ;;@ (lib)/allocator/tlsf.ts:448:25 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:445:29 + ;;@ (lib)/allocator/tlsf.ts:448:29 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:444:42 + ;;@ (lib)/allocator/tlsf.ts:447:42 (set_local $3 (i32.add - ;;@ (lib)/allocator/tlsf.ts:444:44 + ;;@ (lib)/allocator/tlsf.ts:447:44 (get_local $3) (i32.const 1) ) @@ -1192,10 +1190,10 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:442:42 + ;;@ (lib)/allocator/tlsf.ts:445:42 (set_local $1 (i32.add - ;;@ (lib)/allocator/tlsf.ts:442:44 + ;;@ (lib)/allocator/tlsf.ts:445:44 (get_local $1) (i32.const 1) ) @@ -1204,76 +1202,79 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:448:9 + ;;@ (lib)/allocator/tlsf.ts:451:9 (drop (call "$(lib)/allocator/tlsf/Root#addMemory" - ;;@ (lib)/allocator/tlsf.ts:448:4 + ;;@ (lib)/allocator/tlsf.ts:451:4 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:448:19 - (i32.add - (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:448:32 - (i32.const 3044) + ;;@ (lib)/allocator/tlsf.ts:451:19 + (i32.and + (i32.add + ;;@ (lib)/allocator/tlsf.ts:451:20 + (get_local $4) + (i32.const 2923) + ) + (i32.const -8) ) - ;;@ (lib)/allocator/tlsf.ts:448:43 + ;;@ (lib)/allocator/tlsf.ts:451:66 (i32.shl (current_memory) - ;;@ (lib)/allocator/tlsf.ts:448:63 + ;;@ (lib)/allocator/tlsf.ts:451:86 (i32.const 16) ) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:452:2 + ;;@ (lib)/allocator/tlsf.ts:455:2 (set_local $1 - ;;@ (lib)/allocator/tlsf.ts:452:20 + ;;@ (lib)/allocator/tlsf.ts:455:20 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:453:2 + ;;@ (lib)/allocator/tlsf.ts:456:2 (if (select - ;;@ (lib)/allocator/tlsf.ts:453:14 + ;;@ (lib)/allocator/tlsf.ts:456:14 (i32.lt_u (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:453:21 + ;;@ (lib)/allocator/tlsf.ts:456:21 (i32.const 1073741824) ) (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:453:6 + ;;@ (lib)/allocator/tlsf.ts:456:6 (get_local $0) ) - ;;@ (lib)/allocator/tlsf.ts:453:37 + ;;@ (lib)/allocator/tlsf.ts:456:37 (block - ;;@ (lib)/allocator/tlsf.ts:457:4 + ;;@ (lib)/allocator/tlsf.ts:460:4 (if - ;;@ (lib)/allocator/tlsf.ts:457:8 + ;;@ (lib)/allocator/tlsf.ts:460:8 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:456:4 + ;;@ (lib)/allocator/tlsf.ts:459:4 (tee_local $1 - ;;@ (lib)/allocator/tlsf.ts:456:21 + ;;@ (lib)/allocator/tlsf.ts:459:21 (call "$(lib)/allocator/tlsf/Root#search" - ;;@ (lib)/allocator/tlsf.ts:456:16 + ;;@ (lib)/allocator/tlsf.ts:459:16 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:454:4 + ;;@ (lib)/allocator/tlsf.ts:457:4 (tee_local $0 - ;;@ (lib)/allocator/tlsf.ts:454:11 + ;;@ (lib)/allocator/tlsf.ts:457:11 (select (tee_local $1 - ;;@ (lib)/allocator/tlsf.ts:454:22 + ;;@ (lib)/allocator/tlsf.ts:457:22 (i32.and (i32.add - ;;@ (lib)/allocator/tlsf.ts:454:23 + ;;@ (lib)/allocator/tlsf.ts:457:23 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:454:30 - (i32.const 3) + ;;@ (lib)/allocator/tlsf.ts:457:30 + (i32.const 7) ) - (i32.const -4) + (i32.const -8) ) ) (tee_local $3 - ;;@ (lib)/allocator/tlsf.ts:454:51 - (i32.const 12) + ;;@ (lib)/allocator/tlsf.ts:457:51 + (i32.const 16) ) (i32.gt_u (get_local $1) @@ -1284,38 +1285,38 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:457:16 + ;;@ (lib)/allocator/tlsf.ts:460:16 (block - ;;@ (lib)/allocator/tlsf.ts:463:6 + ;;@ (lib)/allocator/tlsf.ts:466:6 (if - ;;@ (lib)/allocator/tlsf.ts:463:10 + ;;@ (lib)/allocator/tlsf.ts:466:10 (i32.lt_s (grow_memory - ;;@ (lib)/allocator/tlsf.ts:462:24 + ;;@ (lib)/allocator/tlsf.ts:465:24 (select (tee_local $1 - ;;@ (lib)/allocator/tlsf.ts:460:6 + ;;@ (lib)/allocator/tlsf.ts:463:6 (tee_local $4 - ;;@ (lib)/allocator/tlsf.ts:460:24 + ;;@ (lib)/allocator/tlsf.ts:463:24 (current_memory) ) ) (tee_local $3 - ;;@ (lib)/allocator/tlsf.ts:461:6 + ;;@ (lib)/allocator/tlsf.ts:464:6 (tee_local $5 - ;;@ (lib)/allocator/tlsf.ts:461:24 + ;;@ (lib)/allocator/tlsf.ts:464:24 (i32.shr_u (i32.and - ;;@ (lib)/allocator/tlsf.ts:461:25 + ;;@ (lib)/allocator/tlsf.ts:464:25 (i32.add - ;;@ (lib)/allocator/tlsf.ts:461:26 + ;;@ (lib)/allocator/tlsf.ts:464:26 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:461:33 + ;;@ (lib)/allocator/tlsf.ts:464:33 (i32.const 65535) ) (i32.const -65536) ) - ;;@ (lib)/allocator/tlsf.ts:461:56 + ;;@ (lib)/allocator/tlsf.ts:464:56 (i32.const 16) ) ) @@ -1326,128 +1327,125 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:463:37 + ;;@ (lib)/allocator/tlsf.ts:466:37 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:464:8 + ;;@ (lib)/allocator/tlsf.ts:467:8 (if - ;;@ (lib)/allocator/tlsf.ts:464:12 + ;;@ (lib)/allocator/tlsf.ts:467:12 (i32.lt_s (grow_memory - ;;@ (lib)/allocator/tlsf.ts:464:24 + ;;@ (lib)/allocator/tlsf.ts:467:24 (get_local $5) ) - ;;@ (lib)/allocator/tlsf.ts:464:39 + ;;@ (lib)/allocator/tlsf.ts:467:39 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:465:10 + ;;@ (lib)/allocator/tlsf.ts:468:10 (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:469:11 + ;;@ (lib)/allocator/tlsf.ts:472:11 (drop (call "$(lib)/allocator/tlsf/Root#addMemory" - ;;@ (lib)/allocator/tlsf.ts:469:6 + ;;@ (lib)/allocator/tlsf.ts:472:6 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:469:21 + ;;@ (lib)/allocator/tlsf.ts:472:21 (i32.shl (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:469:43 + ;;@ (lib)/allocator/tlsf.ts:472:43 (i32.const 16) ) - ;;@ (lib)/allocator/tlsf.ts:469:47 + ;;@ (lib)/allocator/tlsf.ts:472:47 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:468:23 + ;;@ (lib)/allocator/tlsf.ts:471:23 (current_memory) - ;;@ (lib)/allocator/tlsf.ts:469:68 + ;;@ (lib)/allocator/tlsf.ts:472:68 (i32.const 16) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:470:6 + ;;@ (lib)/allocator/tlsf.ts:473:6 (set_local $1 - ;;@ (lib)/allocator/tlsf.ts:470:14 + ;;@ (lib)/allocator/tlsf.ts:473:14 (call "$(lib)/allocator/tlsf/Root#search" - ;;@ (lib)/allocator/tlsf.ts:470:21 + ;;@ (lib)/allocator/tlsf.ts:473:21 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:470:33 + ;;@ (lib)/allocator/tlsf.ts:473:33 (get_local $0) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:474:4 + ;;@ (lib)/allocator/tlsf.ts:477:4 (set_local $1 - ;;@ (lib)/allocator/tlsf.ts:474:16 + ;;@ (lib)/allocator/tlsf.ts:477:16 (call "$(lib)/allocator/tlsf/Root#use" - ;;@ (lib)/allocator/tlsf.ts:474:11 + ;;@ (lib)/allocator/tlsf.ts:477:11 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:474:20 + ;;@ (lib)/allocator/tlsf.ts:477:20 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:474:27 + ;;@ (lib)/allocator/tlsf.ts:477:27 (get_local $0) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:477:9 + ;;@ (lib)/allocator/tlsf.ts:480:9 (get_local $1) ) (func "$(lib)/allocator/tlsf/free_memory" (; 13 ;) (type $iv) (param $0 i32) (local $1 i32) (local $2 i32) - ;;@ (lib)/allocator/tlsf.ts:483:2 + ;;@ (lib)/allocator/tlsf.ts:486:2 (if - ;;@ (lib)/allocator/tlsf.ts:483:6 + ;;@ (lib)/allocator/tlsf.ts:486:6 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:485:4 + ;;@ (lib)/allocator/tlsf.ts:488:4 (if - ;;@ (lib)/allocator/tlsf.ts:484:4 + ;;@ (lib)/allocator/tlsf.ts:487:4 (tee_local $1 - ;;@ (lib)/allocator/tlsf.ts:484:15 + ;;@ (lib)/allocator/tlsf.ts:487:15 (get_global "$(lib)/allocator/tlsf/ROOT") ) - ;;@ (lib)/allocator/tlsf.ts:485:14 + ;;@ (lib)/allocator/tlsf.ts:488:14 (block - ;;@ (lib)/allocator/tlsf.ts:489:6 + ;;@ (lib)/allocator/tlsf.ts:492:6 (i32.store - ;;@ (lib)/allocator/tlsf.ts:486:6 + ;;@ (lib)/allocator/tlsf.ts:489:6 (tee_local $2 - ;;@ (lib)/allocator/tlsf.ts:486:18 + ;;@ (lib)/allocator/tlsf.ts:489:18 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:486:36 + ;;@ (lib)/allocator/tlsf.ts:489:36 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:486:43 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:489:43 + (i32.const 8) ) ) - ;;@ (lib)/allocator/tlsf.ts:489:19 + ;;@ (lib)/allocator/tlsf.ts:492:19 (i32.or - ;;@ (lib)/allocator/tlsf.ts:487:22 + ;;@ (lib)/allocator/tlsf.ts:490:22 (i32.load (get_local $2) ) - ;;@ (lib)/allocator/tlsf.ts:489:31 + ;;@ (lib)/allocator/tlsf.ts:492:31 (i32.const 1) ) ) - ;;@ (lib)/allocator/tlsf.ts:490:11 + ;;@ (lib)/allocator/tlsf.ts:493:11 (call "$(lib)/allocator/tlsf/Root#insert" - ;;@ (lib)/allocator/tlsf.ts:490:6 + ;;@ (lib)/allocator/tlsf.ts:493:6 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:490:18 + ;;@ (lib)/allocator/tlsf.ts:493:18 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:490:36 + ;;@ (lib)/allocator/tlsf.ts:493:36 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:490:43 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:493:43 + (i32.const 8) ) ) ) ) ) ) - (func $start (; 14 ;) (type $v) - (nop) - ) ) diff --git a/tests/allocators/tlsf/tlsf.untouched.wat b/tests/allocators/tlsf/tlsf.untouched.wat index 1e9e1bc2..8d30f20d 100644 --- a/tests/allocators/tlsf/tlsf.untouched.wat +++ b/tests/allocators/tlsf/tlsf.untouched.wat @@ -9,14 +9,14 @@ (type $iv (func (param i32))) (type $v (func)) (import "env" "abort" (func $abort (param i32 i32 i32 i32))) - (global "$(lib)/allocator/tlsf/AL_BITS" i32 (i32.const 2)) - (global "$(lib)/allocator/tlsf/AL_SIZE" i32 (i32.const 4)) - (global "$(lib)/allocator/tlsf/AL_MASK" i32 (i32.const 3)) + (global "$(lib)/allocator/tlsf/AL_BITS" i32 (i32.const 3)) + (global "$(lib)/allocator/tlsf/AL_SIZE" i32 (i32.const 8)) + (global "$(lib)/allocator/tlsf/AL_MASK" i32 (i32.const 7)) (global "$(lib)/allocator/tlsf/SL_BITS" i32 (i32.const 5)) (global "$(lib)/allocator/tlsf/SL_SIZE" i32 (i32.const 32)) - (global "$(lib)/allocator/tlsf/SB_BITS" i32 (i32.const 7)) - (global "$(lib)/allocator/tlsf/SB_SIZE" i32 (i32.const 128)) - (global "$(lib)/allocator/tlsf/FL_BITS" i32 (i32.const 23)) + (global "$(lib)/allocator/tlsf/SB_BITS" i32 (i32.const 8)) + (global "$(lib)/allocator/tlsf/SB_SIZE" i32 (i32.const 256)) + (global "$(lib)/allocator/tlsf/FL_BITS" i32 (i32.const 22)) (global "$(lib)/allocator/tlsf/FREE" i32 (i32.const 1)) (global "$(lib)/allocator/tlsf/LEFT_FREE" i32 (i32.const 2)) (global "$(lib)/allocator/tlsf/TAGS" i32 (i32.const 3)) @@ -29,79 +29,79 @@ (export "memory" (memory $0)) (start $start) (func "$(lib)/allocator/tlsf/Root#set:tailRef" (; 1 ;) (type $iiv) (param $0 i32) (param $1 i32) - ;;@ (lib)/allocator/tlsf.ts:174:30 - (i32.store offset=3040 - ;;@ (lib)/allocator/tlsf.ts:174:43 + ;;@ (lib)/allocator/tlsf.ts:177:30 + (i32.store offset=2912 + ;;@ (lib)/allocator/tlsf.ts:177:43 (i32.const 0) - ;;@ (lib)/allocator/tlsf.ts:174:46 + ;;@ (lib)/allocator/tlsf.ts:177:46 (get_local $1) ) ) (func "$(lib)/allocator/tlsf/Root#setSLMap" (; 2 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) - ;;@ (lib)/allocator/tlsf.ts:137:4 + ;;@ (lib)/allocator/tlsf.ts:140:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:137:11 + ;;@ (lib)/allocator/tlsf.ts:140:11 (i32.lt_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:137:16 - (i32.const 23) + ;;@ (lib)/allocator/tlsf.ts:140:16 + (i32.const 22) ) ) (block (call $abort (i32.const 0) (i32.const 4) - (i32.const 137) + (i32.const 140) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:138:4 + ;;@ (lib)/allocator/tlsf.ts:141:4 (i32.store offset=4 - ;;@ (lib)/allocator/tlsf.ts:138:15 + ;;@ (lib)/allocator/tlsf.ts:141:15 (i32.add (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:138:41 + ;;@ (lib)/allocator/tlsf.ts:141:41 (i32.mul (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:138:46 + ;;@ (lib)/allocator/tlsf.ts:141:46 (i32.const 4) ) ) - ;;@ (lib)/allocator/tlsf.ts:138:49 + ;;@ (lib)/allocator/tlsf.ts:141:49 (get_local $2) ) ) (func "$(lib)/allocator/tlsf/Root#setHead" (; 3 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - ;;@ (lib)/allocator/tlsf.ts:160:4 + ;;@ (lib)/allocator/tlsf.ts:163:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:160:11 + ;;@ (lib)/allocator/tlsf.ts:163:11 (i32.lt_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:160:16 - (i32.const 23) + ;;@ (lib)/allocator/tlsf.ts:163:16 + (i32.const 22) ) ) (block (call $abort (i32.const 0) (i32.const 4) - (i32.const 160) + (i32.const 163) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:161:4 + ;;@ (lib)/allocator/tlsf.ts:164:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:161:11 + ;;@ (lib)/allocator/tlsf.ts:164:11 (i32.lt_u (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:161:16 + ;;@ (lib)/allocator/tlsf.ts:164:16 (i32.const 32) ) ) @@ -109,60 +109,60 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 161) + (i32.const 164) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:162:4 + ;;@ (lib)/allocator/tlsf.ts:165:4 (i32.store offset=96 - ;;@ (lib)/allocator/tlsf.ts:163:6 + ;;@ (lib)/allocator/tlsf.ts:166:6 (i32.add (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:163:32 + ;;@ (lib)/allocator/tlsf.ts:166:32 (i32.mul (i32.add - ;;@ (lib)/allocator/tlsf.ts:163:33 + ;;@ (lib)/allocator/tlsf.ts:166:33 (i32.mul (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:163:38 + ;;@ (lib)/allocator/tlsf.ts:166:38 (i32.const 32) ) - ;;@ (lib)/allocator/tlsf.ts:163:48 + ;;@ (lib)/allocator/tlsf.ts:166:48 (get_local $2) ) - ;;@ (lib)/allocator/tlsf.ts:163:61 + ;;@ (lib)/allocator/tlsf.ts:166:61 (i32.const 4) ) ) - ;;@ (lib)/allocator/tlsf.ts:164:6 + ;;@ (lib)/allocator/tlsf.ts:167:6 (get_local $3) ) ) (func "$(lib)/allocator/tlsf/Root#get:tailRef" (; 4 ;) (type $ii) (param $0 i32) (result i32) - ;;@ (lib)/allocator/tlsf.ts:173:58 + ;;@ (lib)/allocator/tlsf.ts:176:58 (return - ;;@ (lib)/allocator/tlsf.ts:173:32 - (i32.load offset=3040 - ;;@ (lib)/allocator/tlsf.ts:173:44 + ;;@ (lib)/allocator/tlsf.ts:176:32 + (i32.load offset=2912 + ;;@ (lib)/allocator/tlsf.ts:176:44 (i32.const 0) ) ) ) (func "$(lib)/allocator/tlsf/Block#get:right" (; 5 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) - ;;@ (lib)/allocator/tlsf.ts:82:4 + ;;@ (lib)/allocator/tlsf.ts:85:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:82:11 + ;;@ (lib)/allocator/tlsf.ts:85:11 (i32.and (i32.load (get_local $0) ) - ;;@ (lib)/allocator/tlsf.ts:82:23 + ;;@ (lib)/allocator/tlsf.ts:85:23 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:82:24 + ;;@ (lib)/allocator/tlsf.ts:85:24 (i32.const 3) (i32.const -1) ) @@ -172,35 +172,35 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 82) + (i32.const 85) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:87:4 + ;;@ (lib)/allocator/tlsf.ts:90:4 (return - ;;@ (lib)/allocator/tlsf.ts:83:11 + ;;@ (lib)/allocator/tlsf.ts:86:11 (if (result i32) (i32.eqz (tee_local $1 - ;;@ (lib)/allocator/tlsf.ts:84:6 + ;;@ (lib)/allocator/tlsf.ts:87:6 (i32.add - ;;@ (lib)/allocator/tlsf.ts:85:8 + ;;@ (lib)/allocator/tlsf.ts:88:8 (i32.add (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:85:34 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:88:34 + (i32.const 8) ) - ;;@ (lib)/allocator/tlsf.ts:85:47 + ;;@ (lib)/allocator/tlsf.ts:88:47 (i32.and - ;;@ (lib)/allocator/tlsf.ts:85:48 + ;;@ (lib)/allocator/tlsf.ts:88:48 (i32.load (get_local $0) ) - ;;@ (lib)/allocator/tlsf.ts:85:60 + ;;@ (lib)/allocator/tlsf.ts:88:60 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:85:61 + ;;@ (lib)/allocator/tlsf.ts:88:61 (i32.const 3) (i32.const -1) ) @@ -212,7 +212,7 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 83) + (i32.const 86) (i32.const 11) ) (unreachable) @@ -222,13 +222,13 @@ ) ) (func "$(lib)/allocator/tlsf/fls" (; 6 ;) (type $ii) (param $0 i32) (result i32) - ;;@ (lib)/allocator/tlsf.ts:421:2 + ;;@ (lib)/allocator/tlsf.ts:424:2 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:421:9 + ;;@ (lib)/allocator/tlsf.ts:424:9 (i32.ne (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:421:17 + ;;@ (lib)/allocator/tlsf.ts:424:17 (i32.const 0) ) ) @@ -236,55 +236,55 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 421) + (i32.const 424) (i32.const 2) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:422:2 + ;;@ (lib)/allocator/tlsf.ts:425:2 (nop) - ;;@ (lib)/allocator/tlsf.ts:423:26 + ;;@ (lib)/allocator/tlsf.ts:426:26 (return - ;;@ (lib)/allocator/tlsf.ts:423:9 + ;;@ (lib)/allocator/tlsf.ts:426:9 (i32.sub (i32.const 31) - ;;@ (lib)/allocator/tlsf.ts:423:15 + ;;@ (lib)/allocator/tlsf.ts:426:15 (i32.clz - ;;@ (lib)/allocator/tlsf.ts:423:22 + ;;@ (lib)/allocator/tlsf.ts:426:22 (get_local $0) ) ) ) ) (func "$(lib)/allocator/tlsf/Root#getHead" (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - ;;@ (lib)/allocator/tlsf.ts:151:4 + ;;@ (lib)/allocator/tlsf.ts:154:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:151:11 + ;;@ (lib)/allocator/tlsf.ts:154:11 (i32.lt_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:151:16 - (i32.const 23) + ;;@ (lib)/allocator/tlsf.ts:154:16 + (i32.const 22) ) ) (block (call $abort (i32.const 0) (i32.const 4) - (i32.const 151) + (i32.const 154) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:152:4 + ;;@ (lib)/allocator/tlsf.ts:155:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:152:11 + ;;@ (lib)/allocator/tlsf.ts:155:11 (i32.lt_u (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:152:16 + ;;@ (lib)/allocator/tlsf.ts:155:16 (i32.const 32) ) ) @@ -292,32 +292,32 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 152) + (i32.const 155) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:155:20 + ;;@ (lib)/allocator/tlsf.ts:158:20 (return - ;;@ (lib)/allocator/tlsf.ts:153:11 + ;;@ (lib)/allocator/tlsf.ts:156:11 (i32.load offset=96 - ;;@ (lib)/allocator/tlsf.ts:154:6 + ;;@ (lib)/allocator/tlsf.ts:157:6 (i32.add (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:154:32 + ;;@ (lib)/allocator/tlsf.ts:157:32 (i32.mul (i32.add - ;;@ (lib)/allocator/tlsf.ts:154:33 + ;;@ (lib)/allocator/tlsf.ts:157:33 (i32.mul (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:154:38 + ;;@ (lib)/allocator/tlsf.ts:157:38 (i32.const 32) ) - ;;@ (lib)/allocator/tlsf.ts:154:48 + ;;@ (lib)/allocator/tlsf.ts:157:48 (get_local $2) ) - ;;@ (lib)/allocator/tlsf.ts:154:61 + ;;@ (lib)/allocator/tlsf.ts:157:61 (i32.const 4) ) ) @@ -325,37 +325,37 @@ ) ) (func "$(lib)/allocator/tlsf/Root#getSLMap" (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) - ;;@ (lib)/allocator/tlsf.ts:131:4 + ;;@ (lib)/allocator/tlsf.ts:134:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:131:11 + ;;@ (lib)/allocator/tlsf.ts:134:11 (i32.lt_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:131:16 - (i32.const 23) + ;;@ (lib)/allocator/tlsf.ts:134:16 + (i32.const 22) ) ) (block (call $abort (i32.const 0) (i32.const 4) - (i32.const 131) + (i32.const 134) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:132:68 + ;;@ (lib)/allocator/tlsf.ts:135:68 (return - ;;@ (lib)/allocator/tlsf.ts:132:11 + ;;@ (lib)/allocator/tlsf.ts:135:11 (i32.load offset=4 - ;;@ (lib)/allocator/tlsf.ts:132:21 + ;;@ (lib)/allocator/tlsf.ts:135:21 (i32.add (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:132:47 + ;;@ (lib)/allocator/tlsf.ts:135:47 (i32.mul (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:132:52 + ;;@ (lib)/allocator/tlsf.ts:135:52 (i32.const 4) ) ) @@ -371,20 +371,20 @@ (local $7 i32) (local $8 i32) (local $9 i32) - ;;@ (lib)/allocator/tlsf.ts:250:4 + ;;@ (lib)/allocator/tlsf.ts:253:4 (set_local $2 - ;;@ (lib)/allocator/tlsf.ts:250:20 + ;;@ (lib)/allocator/tlsf.ts:253:20 (i32.load (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:251:4 + ;;@ (lib)/allocator/tlsf.ts:254:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:251:11 + ;;@ (lib)/allocator/tlsf.ts:254:11 (i32.and (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:251:23 + ;;@ (lib)/allocator/tlsf.ts:254:23 (i32.const 1) ) ) @@ -392,42 +392,42 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 251) + (i32.const 254) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:252:4 + ;;@ (lib)/allocator/tlsf.ts:255:4 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:252:15 + ;;@ (lib)/allocator/tlsf.ts:255:15 (i32.and (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:252:27 + ;;@ (lib)/allocator/tlsf.ts:255:27 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:252:28 + ;;@ (lib)/allocator/tlsf.ts:255:28 (i32.const 3) (i32.const -1) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:253:4 + ;;@ (lib)/allocator/tlsf.ts:256:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:253:11 + ;;@ (lib)/allocator/tlsf.ts:256:11 (i32.and (if (result i32) (tee_local $4 (i32.ge_u (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:253:19 - (i32.const 12) + ;;@ (lib)/allocator/tlsf.ts:256:19 + (i32.const 16) ) ) - ;;@ (lib)/allocator/tlsf.ts:253:37 + ;;@ (lib)/allocator/tlsf.ts:256:37 (i32.lt_u (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:253:44 + ;;@ (lib)/allocator/tlsf.ts:256:44 (i32.const 1073741824) ) (get_local $4) @@ -439,189 +439,189 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 253) + (i32.const 256) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:256:4 + ;;@ (lib)/allocator/tlsf.ts:259:4 (nop) - ;;@ (lib)/allocator/tlsf.ts:257:4 + ;;@ (lib)/allocator/tlsf.ts:260:4 (if - ;;@ (lib)/allocator/tlsf.ts:257:8 + ;;@ (lib)/allocator/tlsf.ts:260:8 (i32.lt_u (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:257:15 - (i32.const 128) + ;;@ (lib)/allocator/tlsf.ts:260:15 + (i32.const 256) ) - ;;@ (lib)/allocator/tlsf.ts:257:24 - (block - ;;@ (lib)/allocator/tlsf.ts:258:6 - (set_local $5 - ;;@ (lib)/allocator/tlsf.ts:258:11 - (i32.const 0) - ) - ;;@ (lib)/allocator/tlsf.ts:259:6 - (set_local $6 - ;;@ (lib)/allocator/tlsf.ts:259:11 - (i32.div_u - ;;@ (lib)/allocator/tlsf.ts:259:17 - (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:259:24 - (i32.const 4) - ) - ) - ) - ;;@ (lib)/allocator/tlsf.ts:260:11 + ;;@ (lib)/allocator/tlsf.ts:260:24 (block ;;@ (lib)/allocator/tlsf.ts:261:6 (set_local $5 ;;@ (lib)/allocator/tlsf.ts:261:11 - (call "$(lib)/allocator/tlsf/fls" - ;;@ (lib)/allocator/tlsf.ts:261:22 - (get_local $3) - ) + (i32.const 0) ) ;;@ (lib)/allocator/tlsf.ts:262:6 (set_local $6 ;;@ (lib)/allocator/tlsf.ts:262:11 - (i32.xor + (i32.div_u ;;@ (lib)/allocator/tlsf.ts:262:17 + (get_local $3) + ;;@ (lib)/allocator/tlsf.ts:262:24 + (i32.const 8) + ) + ) + ) + ;;@ (lib)/allocator/tlsf.ts:263:11 + (block + ;;@ (lib)/allocator/tlsf.ts:264:6 + (set_local $5 + ;;@ (lib)/allocator/tlsf.ts:264:11 + (call "$(lib)/allocator/tlsf/fls" + ;;@ (lib)/allocator/tlsf.ts:264:22 + (get_local $3) + ) + ) + ;;@ (lib)/allocator/tlsf.ts:265:6 + (set_local $6 + ;;@ (lib)/allocator/tlsf.ts:265:11 + (i32.xor + ;;@ (lib)/allocator/tlsf.ts:265:17 (i32.shr_u - ;;@ (lib)/allocator/tlsf.ts:262:18 + ;;@ (lib)/allocator/tlsf.ts:265:18 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:262:26 + ;;@ (lib)/allocator/tlsf.ts:265:26 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:262:27 + ;;@ (lib)/allocator/tlsf.ts:265:27 (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:262:32 + ;;@ (lib)/allocator/tlsf.ts:265:32 (i32.const 5) ) ) - ;;@ (lib)/allocator/tlsf.ts:262:44 + ;;@ (lib)/allocator/tlsf.ts:265:44 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:262:45 + ;;@ (lib)/allocator/tlsf.ts:265:45 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:262:50 + ;;@ (lib)/allocator/tlsf.ts:265:50 (i32.const 5) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:263:6 + ;;@ (lib)/allocator/tlsf.ts:266:6 (set_local $5 (i32.sub (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:263:12 + ;;@ (lib)/allocator/tlsf.ts:266:12 (i32.sub - (i32.const 7) - ;;@ (lib)/allocator/tlsf.ts:263:22 + (i32.const 8) + ;;@ (lib)/allocator/tlsf.ts:266:22 (i32.const 1) ) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:267:4 + ;;@ (lib)/allocator/tlsf.ts:270:4 (set_local $7 - ;;@ (lib)/allocator/tlsf.ts:267:15 + ;;@ (lib)/allocator/tlsf.ts:270:15 (i32.load offset=4 (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:268:4 + ;;@ (lib)/allocator/tlsf.ts:271:4 (set_local $8 - ;;@ (lib)/allocator/tlsf.ts:268:15 + ;;@ (lib)/allocator/tlsf.ts:271:15 (i32.load offset=8 (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:269:4 + ;;@ (lib)/allocator/tlsf.ts:272:4 (if - ;;@ (lib)/allocator/tlsf.ts:269:8 + ;;@ (lib)/allocator/tlsf.ts:272:8 (get_local $7) - ;;@ (lib)/allocator/tlsf.ts:269:14 + ;;@ (lib)/allocator/tlsf.ts:272:14 (i32.store offset=8 (get_local $7) - ;;@ (lib)/allocator/tlsf.ts:269:26 + ;;@ (lib)/allocator/tlsf.ts:272:26 (get_local $8) ) ) - ;;@ (lib)/allocator/tlsf.ts:270:4 - (if - ;;@ (lib)/allocator/tlsf.ts:270:8 - (get_local $8) - ;;@ (lib)/allocator/tlsf.ts:270:14 - (i32.store offset=4 - (get_local $8) - ;;@ (lib)/allocator/tlsf.ts:270:26 - (get_local $7) - ) - ) ;;@ (lib)/allocator/tlsf.ts:273:4 (if ;;@ (lib)/allocator/tlsf.ts:273:8 + (get_local $8) + ;;@ (lib)/allocator/tlsf.ts:273:14 + (i32.store offset=4 + (get_local $8) + ;;@ (lib)/allocator/tlsf.ts:273:26 + (get_local $7) + ) + ) + ;;@ (lib)/allocator/tlsf.ts:276:4 + (if + ;;@ (lib)/allocator/tlsf.ts:276:8 (i32.eq (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:273:22 + ;;@ (lib)/allocator/tlsf.ts:276:22 (call "$(lib)/allocator/tlsf/Root#getHead" - ;;@ (lib)/allocator/tlsf.ts:273:17 + ;;@ (lib)/allocator/tlsf.ts:276:17 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:273:30 + ;;@ (lib)/allocator/tlsf.ts:276:30 (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:273:34 + ;;@ (lib)/allocator/tlsf.ts:276:34 (get_local $6) ) ) - ;;@ (lib)/allocator/tlsf.ts:273:39 + ;;@ (lib)/allocator/tlsf.ts:276:39 (block - ;;@ (lib)/allocator/tlsf.ts:274:11 + ;;@ (lib)/allocator/tlsf.ts:277:11 (call "$(lib)/allocator/tlsf/Root#setHead" - ;;@ (lib)/allocator/tlsf.ts:274:6 + ;;@ (lib)/allocator/tlsf.ts:277:6 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:274:19 + ;;@ (lib)/allocator/tlsf.ts:277:19 (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:274:23 + ;;@ (lib)/allocator/tlsf.ts:277:23 (get_local $6) - ;;@ (lib)/allocator/tlsf.ts:274:27 + ;;@ (lib)/allocator/tlsf.ts:277:27 (get_local $8) ) - ;;@ (lib)/allocator/tlsf.ts:277:6 + ;;@ (lib)/allocator/tlsf.ts:280:6 (if - ;;@ (lib)/allocator/tlsf.ts:277:10 + ;;@ (lib)/allocator/tlsf.ts:280:10 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:277:11 + ;;@ (lib)/allocator/tlsf.ts:280:11 (get_local $8) ) - ;;@ (lib)/allocator/tlsf.ts:277:17 + ;;@ (lib)/allocator/tlsf.ts:280:17 (block - ;;@ (lib)/allocator/tlsf.ts:278:8 + ;;@ (lib)/allocator/tlsf.ts:281:8 (set_local $9 - ;;@ (lib)/allocator/tlsf.ts:278:25 + ;;@ (lib)/allocator/tlsf.ts:281:25 (call "$(lib)/allocator/tlsf/Root#getSLMap" - ;;@ (lib)/allocator/tlsf.ts:278:20 + ;;@ (lib)/allocator/tlsf.ts:281:20 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:278:34 + ;;@ (lib)/allocator/tlsf.ts:281:34 (get_local $5) ) ) - ;;@ (lib)/allocator/tlsf.ts:279:13 + ;;@ (lib)/allocator/tlsf.ts:282:13 (call "$(lib)/allocator/tlsf/Root#setSLMap" - ;;@ (lib)/allocator/tlsf.ts:279:8 + ;;@ (lib)/allocator/tlsf.ts:282:8 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:279:22 + ;;@ (lib)/allocator/tlsf.ts:282:22 (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:279:26 + ;;@ (lib)/allocator/tlsf.ts:282:26 (tee_local $9 (i32.and (get_local $9) - ;;@ (lib)/allocator/tlsf.ts:279:35 + ;;@ (lib)/allocator/tlsf.ts:282:35 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:279:36 + ;;@ (lib)/allocator/tlsf.ts:282:36 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:279:37 + ;;@ (lib)/allocator/tlsf.ts:282:37 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:279:42 + ;;@ (lib)/allocator/tlsf.ts:282:42 (get_local $6) ) (i32.const -1) @@ -629,27 +629,27 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:282:8 + ;;@ (lib)/allocator/tlsf.ts:285:8 (if - ;;@ (lib)/allocator/tlsf.ts:282:12 + ;;@ (lib)/allocator/tlsf.ts:285:12 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:282:13 + ;;@ (lib)/allocator/tlsf.ts:285:13 (get_local $9) ) - ;;@ (lib)/allocator/tlsf.ts:282:20 + ;;@ (lib)/allocator/tlsf.ts:285:20 (i32.store (get_local $0) (i32.and (i32.load (get_local $0) ) - ;;@ (lib)/allocator/tlsf.ts:282:34 + ;;@ (lib)/allocator/tlsf.ts:285:34 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:282:35 + ;;@ (lib)/allocator/tlsf.ts:285:35 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:282:36 + ;;@ (lib)/allocator/tlsf.ts:285:36 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:282:41 + ;;@ (lib)/allocator/tlsf.ts:285:41 (get_local $5) ) (i32.const -1) @@ -664,15 +664,15 @@ ) (func "$(lib)/allocator/tlsf/Block#get:left" (; 10 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) - ;;@ (lib)/allocator/tlsf.ts:74:4 + ;;@ (lib)/allocator/tlsf.ts:77:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:74:11 + ;;@ (lib)/allocator/tlsf.ts:77:11 (i32.and (i32.load (get_local $0) ) - ;;@ (lib)/allocator/tlsf.ts:74:23 + ;;@ (lib)/allocator/tlsf.ts:77:23 (i32.const 2) ) ) @@ -680,24 +680,24 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 74) + (i32.const 77) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:77:4 + ;;@ (lib)/allocator/tlsf.ts:80:4 (return - ;;@ (lib)/allocator/tlsf.ts:75:11 + ;;@ (lib)/allocator/tlsf.ts:78:11 (if (result i32) (i32.eqz (tee_local $1 - ;;@ (lib)/allocator/tlsf.ts:76:6 + ;;@ (lib)/allocator/tlsf.ts:79:6 (i32.load - ;;@ (lib)/allocator/tlsf.ts:76:18 + ;;@ (lib)/allocator/tlsf.ts:79:18 (i32.sub (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:76:44 + ;;@ (lib)/allocator/tlsf.ts:79:44 (i32.const 4) ) ) @@ -707,7 +707,7 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 75) + (i32.const 78) (i32.const 11) ) (unreachable) @@ -717,15 +717,15 @@ ) ) (func "$(lib)/allocator/tlsf/Root#setJump" (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) - ;;@ (lib)/allocator/tlsf.ts:327:4 + ;;@ (lib)/allocator/tlsf.ts:330:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:327:11 + ;;@ (lib)/allocator/tlsf.ts:330:11 (i32.and (i32.load (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:327:23 + ;;@ (lib)/allocator/tlsf.ts:330:23 (i32.const 1) ) ) @@ -733,21 +733,21 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 327) + (i32.const 330) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:328:4 + ;;@ (lib)/allocator/tlsf.ts:331:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:328:11 + ;;@ (lib)/allocator/tlsf.ts:331:11 (i32.eq (call "$(lib)/allocator/tlsf/Block#get:right" (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:328:25 + ;;@ (lib)/allocator/tlsf.ts:331:25 (get_local $2) ) ) @@ -755,21 +755,21 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 328) + (i32.const 331) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:329:4 + ;;@ (lib)/allocator/tlsf.ts:332:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:329:11 + ;;@ (lib)/allocator/tlsf.ts:332:11 (i32.and (i32.load (get_local $2) ) - ;;@ (lib)/allocator/tlsf.ts:329:24 + ;;@ (lib)/allocator/tlsf.ts:332:24 (i32.const 2) ) ) @@ -777,21 +777,21 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 329) + (i32.const 332) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:330:4 + ;;@ (lib)/allocator/tlsf.ts:333:4 (i32.store - ;;@ (lib)/allocator/tlsf.ts:331:6 + ;;@ (lib)/allocator/tlsf.ts:334:6 (i32.sub (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:331:33 + ;;@ (lib)/allocator/tlsf.ts:334:33 (i32.const 4) ) - ;;@ (lib)/allocator/tlsf.ts:332:6 + ;;@ (lib)/allocator/tlsf.ts:335:6 (get_local $1) ) ) @@ -806,36 +806,36 @@ (local $9 i32) (local $10 i32) (local $11 i32) - ;;@ (lib)/allocator/tlsf.ts:182:4 + ;;@ (lib)/allocator/tlsf.ts:185:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:182:11 + ;;@ (lib)/allocator/tlsf.ts:185:11 (get_local $1) ) (block (call $abort (i32.const 0) (i32.const 4) - (i32.const 182) + (i32.const 185) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:183:4 + ;;@ (lib)/allocator/tlsf.ts:186:4 (set_local $2 - ;;@ (lib)/allocator/tlsf.ts:183:20 + ;;@ (lib)/allocator/tlsf.ts:186:20 (i32.load (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:184:4 + ;;@ (lib)/allocator/tlsf.ts:187:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:184:11 + ;;@ (lib)/allocator/tlsf.ts:187:11 (i32.and (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:184:23 + ;;@ (lib)/allocator/tlsf.ts:187:23 (i32.const 1) ) ) @@ -843,44 +843,44 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 184) + (i32.const 187) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:185:4 + ;;@ (lib)/allocator/tlsf.ts:188:4 (nop) - ;;@ (lib)/allocator/tlsf.ts:186:4 + ;;@ (lib)/allocator/tlsf.ts:189:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:187:6 + ;;@ (lib)/allocator/tlsf.ts:190:6 (i32.and (if (result i32) (tee_local $4 (i32.ge_u (tee_local $3 - ;;@ (lib)/allocator/tlsf.ts:187:14 + ;;@ (lib)/allocator/tlsf.ts:190:14 (i32.and (i32.load (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:187:27 + ;;@ (lib)/allocator/tlsf.ts:190:27 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:187:28 + ;;@ (lib)/allocator/tlsf.ts:190:28 (i32.const 3) (i32.const -1) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:187:37 - (i32.const 12) + ;;@ (lib)/allocator/tlsf.ts:190:37 + (i32.const 16) ) ) - ;;@ (lib)/allocator/tlsf.ts:187:55 + ;;@ (lib)/allocator/tlsf.ts:190:55 (i32.lt_u (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:187:62 + ;;@ (lib)/allocator/tlsf.ts:190:62 (i32.const 1073741824) ) (get_local $4) @@ -892,19 +892,19 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 186) + (i32.const 189) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:190:4 + ;;@ (lib)/allocator/tlsf.ts:193:4 (set_local $5 - ;;@ (lib)/allocator/tlsf.ts:190:23 + ;;@ (lib)/allocator/tlsf.ts:193:23 (if (result i32) (i32.eqz (tee_local $4 - ;;@ (lib)/allocator/tlsf.ts:190:30 + ;;@ (lib)/allocator/tlsf.ts:193:30 (call "$(lib)/allocator/tlsf/Block#get:right" (get_local $1) ) @@ -914,7 +914,7 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 190) + (i32.const 193) (i32.const 23) ) (unreachable) @@ -922,48 +922,48 @@ (get_local $4) ) ) - ;;@ (lib)/allocator/tlsf.ts:191:4 + ;;@ (lib)/allocator/tlsf.ts:194:4 (set_local $6 - ;;@ (lib)/allocator/tlsf.ts:191:20 + ;;@ (lib)/allocator/tlsf.ts:194:20 (i32.load (get_local $5) ) ) - ;;@ (lib)/allocator/tlsf.ts:194:4 + ;;@ (lib)/allocator/tlsf.ts:197:4 (if - ;;@ (lib)/allocator/tlsf.ts:194:8 + ;;@ (lib)/allocator/tlsf.ts:197:8 (i32.and (get_local $6) - ;;@ (lib)/allocator/tlsf.ts:194:20 + ;;@ (lib)/allocator/tlsf.ts:197:20 (i32.const 1) ) - ;;@ (lib)/allocator/tlsf.ts:194:26 + ;;@ (lib)/allocator/tlsf.ts:197:26 (block - ;;@ (lib)/allocator/tlsf.ts:195:11 + ;;@ (lib)/allocator/tlsf.ts:198:11 (call "$(lib)/allocator/tlsf/Root#remove" - ;;@ (lib)/allocator/tlsf.ts:195:6 + ;;@ (lib)/allocator/tlsf.ts:198:6 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:195:18 + ;;@ (lib)/allocator/tlsf.ts:198:18 (get_local $5) ) - ;;@ (lib)/allocator/tlsf.ts:196:6 + ;;@ (lib)/allocator/tlsf.ts:199:6 (i32.store (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:196:19 + ;;@ (lib)/allocator/tlsf.ts:199:19 (tee_local $2 (i32.add - ;;@ (lib)/allocator/tlsf.ts:196:20 + ;;@ (lib)/allocator/tlsf.ts:199:20 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:196:33 + ;;@ (lib)/allocator/tlsf.ts:199:33 (i32.add - (i32.const 4) - ;;@ (lib)/allocator/tlsf.ts:196:46 + (i32.const 8) + ;;@ (lib)/allocator/tlsf.ts:199:46 (i32.and - ;;@ (lib)/allocator/tlsf.ts:196:47 + ;;@ (lib)/allocator/tlsf.ts:199:47 (get_local $6) - ;;@ (lib)/allocator/tlsf.ts:196:59 + ;;@ (lib)/allocator/tlsf.ts:199:59 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:196:60 + ;;@ (lib)/allocator/tlsf.ts:199:60 (i32.const 3) (i32.const -1) ) @@ -972,39 +972,39 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:197:6 + ;;@ (lib)/allocator/tlsf.ts:200:6 (set_local $5 - ;;@ (lib)/allocator/tlsf.ts:197:14 + ;;@ (lib)/allocator/tlsf.ts:200:14 (call "$(lib)/allocator/tlsf/Block#get:right" (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:198:6 + ;;@ (lib)/allocator/tlsf.ts:201:6 (set_local $6 - ;;@ (lib)/allocator/tlsf.ts:198:18 + ;;@ (lib)/allocator/tlsf.ts:201:18 (i32.load (get_local $5) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:203:4 + ;;@ (lib)/allocator/tlsf.ts:206:4 (if - ;;@ (lib)/allocator/tlsf.ts:203:8 + ;;@ (lib)/allocator/tlsf.ts:206:8 (i32.and (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:203:20 + ;;@ (lib)/allocator/tlsf.ts:206:20 (i32.const 2) ) - ;;@ (lib)/allocator/tlsf.ts:203:31 + ;;@ (lib)/allocator/tlsf.ts:206:31 (block - ;;@ (lib)/allocator/tlsf.ts:204:6 + ;;@ (lib)/allocator/tlsf.ts:207:6 (set_local $7 - ;;@ (lib)/allocator/tlsf.ts:204:24 + ;;@ (lib)/allocator/tlsf.ts:207:24 (if (result i32) (i32.eqz (tee_local $4 - ;;@ (lib)/allocator/tlsf.ts:204:31 + ;;@ (lib)/allocator/tlsf.ts:207:31 (call "$(lib)/allocator/tlsf/Block#get:left" (get_local $1) ) @@ -1014,7 +1014,7 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 204) + (i32.const 207) (i32.const 24) ) (unreachable) @@ -1022,20 +1022,20 @@ (get_local $4) ) ) - ;;@ (lib)/allocator/tlsf.ts:205:6 + ;;@ (lib)/allocator/tlsf.ts:208:6 (set_local $8 - ;;@ (lib)/allocator/tlsf.ts:205:21 + ;;@ (lib)/allocator/tlsf.ts:208:21 (i32.load (get_local $7) ) ) - ;;@ (lib)/allocator/tlsf.ts:206:6 + ;;@ (lib)/allocator/tlsf.ts:209:6 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:206:13 + ;;@ (lib)/allocator/tlsf.ts:209:13 (i32.and (get_local $8) - ;;@ (lib)/allocator/tlsf.ts:206:24 + ;;@ (lib)/allocator/tlsf.ts:209:24 (i32.const 1) ) ) @@ -1043,37 +1043,37 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 206) + (i32.const 209) (i32.const 6) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:207:11 + ;;@ (lib)/allocator/tlsf.ts:210:11 (call "$(lib)/allocator/tlsf/Root#remove" - ;;@ (lib)/allocator/tlsf.ts:207:6 + ;;@ (lib)/allocator/tlsf.ts:210:6 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:207:18 + ;;@ (lib)/allocator/tlsf.ts:210:18 (get_local $7) ) - ;;@ (lib)/allocator/tlsf.ts:208:6 + ;;@ (lib)/allocator/tlsf.ts:211:6 (i32.store (get_local $7) - ;;@ (lib)/allocator/tlsf.ts:208:18 + ;;@ (lib)/allocator/tlsf.ts:211:18 (tee_local $8 (i32.add - ;;@ (lib)/allocator/tlsf.ts:208:19 + ;;@ (lib)/allocator/tlsf.ts:211:19 (get_local $8) - ;;@ (lib)/allocator/tlsf.ts:208:31 + ;;@ (lib)/allocator/tlsf.ts:211:31 (i32.add - (i32.const 4) - ;;@ (lib)/allocator/tlsf.ts:208:44 + (i32.const 8) + ;;@ (lib)/allocator/tlsf.ts:211:44 (i32.and - ;;@ (lib)/allocator/tlsf.ts:208:45 + ;;@ (lib)/allocator/tlsf.ts:211:45 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:208:57 + ;;@ (lib)/allocator/tlsf.ts:211:57 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:208:58 + ;;@ (lib)/allocator/tlsf.ts:211:58 (i32.const 3) (i32.const -1) ) @@ -1082,67 +1082,67 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:209:6 + ;;@ (lib)/allocator/tlsf.ts:212:6 (set_local $1 - ;;@ (lib)/allocator/tlsf.ts:209:14 + ;;@ (lib)/allocator/tlsf.ts:212:14 (get_local $7) ) - ;;@ (lib)/allocator/tlsf.ts:210:6 + ;;@ (lib)/allocator/tlsf.ts:213:6 (set_local $2 - ;;@ (lib)/allocator/tlsf.ts:210:18 + ;;@ (lib)/allocator/tlsf.ts:213:18 (get_local $8) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:214:4 + ;;@ (lib)/allocator/tlsf.ts:217:4 (i32.store (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:214:17 + ;;@ (lib)/allocator/tlsf.ts:217:17 (i32.or (get_local $6) - ;;@ (lib)/allocator/tlsf.ts:214:29 + ;;@ (lib)/allocator/tlsf.ts:217:29 (i32.const 2) ) ) - ;;@ (lib)/allocator/tlsf.ts:215:9 + ;;@ (lib)/allocator/tlsf.ts:218:9 (call "$(lib)/allocator/tlsf/Root#setJump" - ;;@ (lib)/allocator/tlsf.ts:215:4 + ;;@ (lib)/allocator/tlsf.ts:218:4 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:215:17 + ;;@ (lib)/allocator/tlsf.ts:218:17 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:215:24 + ;;@ (lib)/allocator/tlsf.ts:218:24 (get_local $5) ) - ;;@ (lib)/allocator/tlsf.ts:218:4 + ;;@ (lib)/allocator/tlsf.ts:221:4 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:218:11 + ;;@ (lib)/allocator/tlsf.ts:221:11 (i32.and (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:218:23 + ;;@ (lib)/allocator/tlsf.ts:221:23 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:218:24 + ;;@ (lib)/allocator/tlsf.ts:221:24 (i32.const 3) (i32.const -1) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:219:4 + ;;@ (lib)/allocator/tlsf.ts:222:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:219:11 + ;;@ (lib)/allocator/tlsf.ts:222:11 (i32.and (if (result i32) (tee_local $4 (i32.ge_u (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:219:19 - (i32.const 12) + ;;@ (lib)/allocator/tlsf.ts:222:19 + (i32.const 16) ) ) - ;;@ (lib)/allocator/tlsf.ts:219:37 + ;;@ (lib)/allocator/tlsf.ts:222:37 (i32.lt_u (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:219:44 + ;;@ (lib)/allocator/tlsf.ts:222:44 (i32.const 1073741824) ) (get_local $4) @@ -1154,171 +1154,171 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 219) + (i32.const 222) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:222:4 + ;;@ (lib)/allocator/tlsf.ts:225:4 (nop) - ;;@ (lib)/allocator/tlsf.ts:223:4 + ;;@ (lib)/allocator/tlsf.ts:226:4 (if - ;;@ (lib)/allocator/tlsf.ts:223:8 + ;;@ (lib)/allocator/tlsf.ts:226:8 (i32.lt_u (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:223:15 - (i32.const 128) + ;;@ (lib)/allocator/tlsf.ts:226:15 + (i32.const 256) ) - ;;@ (lib)/allocator/tlsf.ts:223:24 - (block - ;;@ (lib)/allocator/tlsf.ts:224:6 - (set_local $9 - ;;@ (lib)/allocator/tlsf.ts:224:11 - (i32.const 0) - ) - ;;@ (lib)/allocator/tlsf.ts:225:6 - (set_local $10 - ;;@ (lib)/allocator/tlsf.ts:225:11 - (i32.div_u - ;;@ (lib)/allocator/tlsf.ts:225:17 - (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:225:24 - (i32.const 4) - ) - ) - ) - ;;@ (lib)/allocator/tlsf.ts:226:11 + ;;@ (lib)/allocator/tlsf.ts:226:24 (block ;;@ (lib)/allocator/tlsf.ts:227:6 (set_local $9 ;;@ (lib)/allocator/tlsf.ts:227:11 - (call "$(lib)/allocator/tlsf/fls" - ;;@ (lib)/allocator/tlsf.ts:227:22 - (get_local $3) - ) + (i32.const 0) ) ;;@ (lib)/allocator/tlsf.ts:228:6 (set_local $10 ;;@ (lib)/allocator/tlsf.ts:228:11 - (i32.xor + (i32.div_u ;;@ (lib)/allocator/tlsf.ts:228:17 + (get_local $3) + ;;@ (lib)/allocator/tlsf.ts:228:24 + (i32.const 8) + ) + ) + ) + ;;@ (lib)/allocator/tlsf.ts:229:11 + (block + ;;@ (lib)/allocator/tlsf.ts:230:6 + (set_local $9 + ;;@ (lib)/allocator/tlsf.ts:230:11 + (call "$(lib)/allocator/tlsf/fls" + ;;@ (lib)/allocator/tlsf.ts:230:22 + (get_local $3) + ) + ) + ;;@ (lib)/allocator/tlsf.ts:231:6 + (set_local $10 + ;;@ (lib)/allocator/tlsf.ts:231:11 + (i32.xor + ;;@ (lib)/allocator/tlsf.ts:231:17 (i32.shr_u - ;;@ (lib)/allocator/tlsf.ts:228:18 + ;;@ (lib)/allocator/tlsf.ts:231:18 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:228:26 + ;;@ (lib)/allocator/tlsf.ts:231:26 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:228:27 + ;;@ (lib)/allocator/tlsf.ts:231:27 (get_local $9) - ;;@ (lib)/allocator/tlsf.ts:228:32 + ;;@ (lib)/allocator/tlsf.ts:231:32 (i32.const 5) ) ) - ;;@ (lib)/allocator/tlsf.ts:228:44 + ;;@ (lib)/allocator/tlsf.ts:231:44 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:228:45 + ;;@ (lib)/allocator/tlsf.ts:231:45 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:228:50 + ;;@ (lib)/allocator/tlsf.ts:231:50 (i32.const 5) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:229:6 + ;;@ (lib)/allocator/tlsf.ts:232:6 (set_local $9 (i32.sub (get_local $9) - ;;@ (lib)/allocator/tlsf.ts:229:12 + ;;@ (lib)/allocator/tlsf.ts:232:12 (i32.sub - (i32.const 7) - ;;@ (lib)/allocator/tlsf.ts:229:22 + (i32.const 8) + ;;@ (lib)/allocator/tlsf.ts:232:22 (i32.const 1) ) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:233:4 + ;;@ (lib)/allocator/tlsf.ts:236:4 (set_local $11 - ;;@ (lib)/allocator/tlsf.ts:233:20 + ;;@ (lib)/allocator/tlsf.ts:236:20 (call "$(lib)/allocator/tlsf/Root#getHead" - ;;@ (lib)/allocator/tlsf.ts:233:15 + ;;@ (lib)/allocator/tlsf.ts:236:15 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:233:28 + ;;@ (lib)/allocator/tlsf.ts:236:28 (get_local $9) - ;;@ (lib)/allocator/tlsf.ts:233:32 + ;;@ (lib)/allocator/tlsf.ts:236:32 (get_local $10) ) ) - ;;@ (lib)/allocator/tlsf.ts:234:4 + ;;@ (lib)/allocator/tlsf.ts:237:4 (i32.store offset=4 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:234:17 + ;;@ (lib)/allocator/tlsf.ts:237:17 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:235:4 + ;;@ (lib)/allocator/tlsf.ts:238:4 (i32.store offset=8 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:235:17 + ;;@ (lib)/allocator/tlsf.ts:238:17 (get_local $11) ) - ;;@ (lib)/allocator/tlsf.ts:236:4 + ;;@ (lib)/allocator/tlsf.ts:239:4 (if - ;;@ (lib)/allocator/tlsf.ts:236:8 + ;;@ (lib)/allocator/tlsf.ts:239:8 (get_local $11) - ;;@ (lib)/allocator/tlsf.ts:236:14 + ;;@ (lib)/allocator/tlsf.ts:239:14 (i32.store offset=4 (get_local $11) - ;;@ (lib)/allocator/tlsf.ts:236:26 + ;;@ (lib)/allocator/tlsf.ts:239:26 (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:237:9 + ;;@ (lib)/allocator/tlsf.ts:240:9 (call "$(lib)/allocator/tlsf/Root#setHead" - ;;@ (lib)/allocator/tlsf.ts:237:4 + ;;@ (lib)/allocator/tlsf.ts:240:4 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:237:17 + ;;@ (lib)/allocator/tlsf.ts:240:17 (get_local $9) - ;;@ (lib)/allocator/tlsf.ts:237:21 + ;;@ (lib)/allocator/tlsf.ts:240:21 (get_local $10) - ;;@ (lib)/allocator/tlsf.ts:237:25 + ;;@ (lib)/allocator/tlsf.ts:240:25 (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:240:4 + ;;@ (lib)/allocator/tlsf.ts:243:4 (i32.store (get_local $0) (i32.or (i32.load (get_local $0) ) - ;;@ (lib)/allocator/tlsf.ts:240:18 + ;;@ (lib)/allocator/tlsf.ts:243:18 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:240:19 + ;;@ (lib)/allocator/tlsf.ts:243:19 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:240:24 + ;;@ (lib)/allocator/tlsf.ts:243:24 (get_local $9) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:241:9 + ;;@ (lib)/allocator/tlsf.ts:244:9 (call "$(lib)/allocator/tlsf/Root#setSLMap" - ;;@ (lib)/allocator/tlsf.ts:241:4 + ;;@ (lib)/allocator/tlsf.ts:244:4 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:241:18 + ;;@ (lib)/allocator/tlsf.ts:244:18 (get_local $9) - ;;@ (lib)/allocator/tlsf.ts:241:22 + ;;@ (lib)/allocator/tlsf.ts:244:22 (i32.or - ;;@ (lib)/allocator/tlsf.ts:241:27 + ;;@ (lib)/allocator/tlsf.ts:244:27 (call "$(lib)/allocator/tlsf/Root#getSLMap" - ;;@ (lib)/allocator/tlsf.ts:241:22 + ;;@ (lib)/allocator/tlsf.ts:244:22 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:241:36 + ;;@ (lib)/allocator/tlsf.ts:244:36 (get_local $9) ) - ;;@ (lib)/allocator/tlsf.ts:241:42 + ;;@ (lib)/allocator/tlsf.ts:244:42 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:241:43 + ;;@ (lib)/allocator/tlsf.ts:244:43 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:241:48 + ;;@ (lib)/allocator/tlsf.ts:244:48 (get_local $10) ) ) @@ -1331,13 +1331,13 @@ (local $6 i32) (local $7 i32) (local $8 i32) - ;;@ (lib)/allocator/tlsf.ts:370:4 + ;;@ (lib)/allocator/tlsf.ts:373:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:370:11 + ;;@ (lib)/allocator/tlsf.ts:373:11 (i32.le_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:370:20 + ;;@ (lib)/allocator/tlsf.ts:373:20 (get_local $2) ) ) @@ -1345,88 +1345,88 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 370) - (i32.const 4) - ) - (unreachable) - ) - ) - ;;@ (lib)/allocator/tlsf.ts:371:4 - (if - (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:371:11 - (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:371:12 - (i32.and - ;;@ (lib)/allocator/tlsf.ts:371:13 - (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:371:21 - (i32.const 3) - ) - ) - ) - (block - (call $abort - (i32.const 0) - (i32.const 4) - (i32.const 371) - (i32.const 4) - ) - (unreachable) - ) - ) - ;;@ (lib)/allocator/tlsf.ts:372:4 - (if - (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:372:11 - (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:372:12 - (i32.and - ;;@ (lib)/allocator/tlsf.ts:372:13 - (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:372:19 - (i32.const 3) - ) - ) - ) - (block - (call $abort - (i32.const 0) - (i32.const 4) - (i32.const 372) + (i32.const 373) (i32.const 4) ) (unreachable) ) ) ;;@ (lib)/allocator/tlsf.ts:374:4 + (if + (i32.eqz + ;;@ (lib)/allocator/tlsf.ts:374:11 + (i32.eqz + ;;@ (lib)/allocator/tlsf.ts:374:12 + (i32.and + ;;@ (lib)/allocator/tlsf.ts:374:13 + (get_local $1) + ;;@ (lib)/allocator/tlsf.ts:374:21 + (i32.const 7) + ) + ) + ) + (block + (call $abort + (i32.const 0) + (i32.const 4) + (i32.const 374) + (i32.const 4) + ) + (unreachable) + ) + ) + ;;@ (lib)/allocator/tlsf.ts:375:4 + (if + (i32.eqz + ;;@ (lib)/allocator/tlsf.ts:375:11 + (i32.eqz + ;;@ (lib)/allocator/tlsf.ts:375:12 + (i32.and + ;;@ (lib)/allocator/tlsf.ts:375:13 + (get_local $2) + ;;@ (lib)/allocator/tlsf.ts:375:19 + (i32.const 7) + ) + ) + ) + (block + (call $abort + (i32.const 0) + (i32.const 4) + (i32.const 375) + (i32.const 4) + ) + (unreachable) + ) + ) + ;;@ (lib)/allocator/tlsf.ts:377:4 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:374:18 + ;;@ (lib)/allocator/tlsf.ts:377:18 (call "$(lib)/allocator/tlsf/Root#get:tailRef" (get_local $0) ) ) - ;;@ (lib)/allocator/tlsf.ts:375:4 + ;;@ (lib)/allocator/tlsf.ts:378:4 (set_local $4 - ;;@ (lib)/allocator/tlsf.ts:375:26 + ;;@ (lib)/allocator/tlsf.ts:378:26 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:376:4 + ;;@ (lib)/allocator/tlsf.ts:379:4 (if - ;;@ (lib)/allocator/tlsf.ts:376:8 + ;;@ (lib)/allocator/tlsf.ts:379:8 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:376:17 + ;;@ (lib)/allocator/tlsf.ts:379:17 (block - ;;@ (lib)/allocator/tlsf.ts:377:6 + ;;@ (lib)/allocator/tlsf.ts:380:6 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:377:13 + ;;@ (lib)/allocator/tlsf.ts:380:13 (i32.ge_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:377:22 + ;;@ (lib)/allocator/tlsf.ts:380:22 (i32.add (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:377:32 + ;;@ (lib)/allocator/tlsf.ts:380:32 (i32.const 4) ) ) @@ -1435,37 +1435,37 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 377) + (i32.const 380) (i32.const 6) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:380:6 + ;;@ (lib)/allocator/tlsf.ts:383:6 (if - ;;@ (lib)/allocator/tlsf.ts:380:10 + ;;@ (lib)/allocator/tlsf.ts:383:10 (i32.eq (i32.sub (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:380:18 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:383:18 + (i32.const 8) ) - ;;@ (lib)/allocator/tlsf.ts:380:32 + ;;@ (lib)/allocator/tlsf.ts:383:32 (get_local $3) ) - ;;@ (lib)/allocator/tlsf.ts:380:41 + ;;@ (lib)/allocator/tlsf.ts:383:41 (block - ;;@ (lib)/allocator/tlsf.ts:381:8 + ;;@ (lib)/allocator/tlsf.ts:384:8 (set_local $1 (i32.sub (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:381:17 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:384:17 + (i32.const 8) ) ) - ;;@ (lib)/allocator/tlsf.ts:382:8 + ;;@ (lib)/allocator/tlsf.ts:385:8 (set_local $4 - ;;@ (lib)/allocator/tlsf.ts:382:19 + ;;@ (lib)/allocator/tlsf.ts:385:19 (i32.load (get_local $3) ) @@ -1473,17 +1473,17 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:386:6 + ;;@ (lib)/allocator/tlsf.ts:389:6 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:386:13 + ;;@ (lib)/allocator/tlsf.ts:389:13 (i32.ge_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:386:22 + ;;@ (lib)/allocator/tlsf.ts:389:22 (i32.add (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:386:48 - (i32.const 3044) + ;;@ (lib)/allocator/tlsf.ts:389:48 + (i32.const 2916) ) ) ) @@ -1491,142 +1491,142 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 386) + (i32.const 389) (i32.const 6) ) (unreachable) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:390:4 + ;;@ (lib)/allocator/tlsf.ts:393:4 (set_local $5 - ;;@ (lib)/allocator/tlsf.ts:390:15 + ;;@ (lib)/allocator/tlsf.ts:393:15 (i32.sub (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:390:21 + ;;@ (lib)/allocator/tlsf.ts:393:21 (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:391:4 + ;;@ (lib)/allocator/tlsf.ts:394:4 (if - ;;@ (lib)/allocator/tlsf.ts:391:8 + ;;@ (lib)/allocator/tlsf.ts:394:8 (i32.lt_u (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:391:15 + ;;@ (lib)/allocator/tlsf.ts:394:15 (i32.add (i32.add - (i32.const 4) - ;;@ (lib)/allocator/tlsf.ts:391:28 - (i32.const 12) + (i32.const 8) + ;;@ (lib)/allocator/tlsf.ts:394:28 + (i32.const 16) ) - ;;@ (lib)/allocator/tlsf.ts:391:45 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:394:45 + (i32.const 8) ) ) - ;;@ (lib)/allocator/tlsf.ts:392:13 + ;;@ (lib)/allocator/tlsf.ts:395:13 (return (i32.const 0) ) ) - ;;@ (lib)/allocator/tlsf.ts:396:4 + ;;@ (lib)/allocator/tlsf.ts:399:4 (set_local $6 - ;;@ (lib)/allocator/tlsf.ts:396:19 + ;;@ (lib)/allocator/tlsf.ts:399:19 (i32.sub (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:396:26 + ;;@ (lib)/allocator/tlsf.ts:399:26 (i32.mul (i32.const 2) - ;;@ (lib)/allocator/tlsf.ts:396:30 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:399:30 + (i32.const 8) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:397:4 + ;;@ (lib)/allocator/tlsf.ts:400:4 (set_local $7 - ;;@ (lib)/allocator/tlsf.ts:397:15 + ;;@ (lib)/allocator/tlsf.ts:400:15 (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:398:4 + ;;@ (lib)/allocator/tlsf.ts:401:4 (i32.store (get_local $7) - ;;@ (lib)/allocator/tlsf.ts:398:16 + ;;@ (lib)/allocator/tlsf.ts:401:16 (i32.or (i32.or (get_local $6) - ;;@ (lib)/allocator/tlsf.ts:398:27 + ;;@ (lib)/allocator/tlsf.ts:401:27 (i32.const 1) ) - ;;@ (lib)/allocator/tlsf.ts:398:34 + ;;@ (lib)/allocator/tlsf.ts:401:34 (i32.and - ;;@ (lib)/allocator/tlsf.ts:398:35 + ;;@ (lib)/allocator/tlsf.ts:401:35 (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:398:46 + ;;@ (lib)/allocator/tlsf.ts:401:46 (i32.const 2) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:399:4 + ;;@ (lib)/allocator/tlsf.ts:402:4 (i32.store offset=4 (get_local $7) - ;;@ (lib)/allocator/tlsf.ts:399:16 - (i32.const 0) - ) - ;;@ (lib)/allocator/tlsf.ts:400:4 - (i32.store offset=8 - (get_local $7) - ;;@ (lib)/allocator/tlsf.ts:400:16 + ;;@ (lib)/allocator/tlsf.ts:402:16 (i32.const 0) ) ;;@ (lib)/allocator/tlsf.ts:403:4 + (i32.store offset=8 + (get_local $7) + ;;@ (lib)/allocator/tlsf.ts:403:16 + (i32.const 0) + ) + ;;@ (lib)/allocator/tlsf.ts:406:4 (set_local $8 - ;;@ (lib)/allocator/tlsf.ts:403:15 + ;;@ (lib)/allocator/tlsf.ts:406:15 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:403:33 + ;;@ (lib)/allocator/tlsf.ts:406:33 (i32.add (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:403:41 + ;;@ (lib)/allocator/tlsf.ts:406:41 (get_local $5) ) - ;;@ (lib)/allocator/tlsf.ts:403:48 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:406:48 + (i32.const 8) ) ) - ;;@ (lib)/allocator/tlsf.ts:404:4 + ;;@ (lib)/allocator/tlsf.ts:407:4 (i32.store (get_local $8) - ;;@ (lib)/allocator/tlsf.ts:404:16 + ;;@ (lib)/allocator/tlsf.ts:407:16 (i32.or (i32.const 0) - ;;@ (lib)/allocator/tlsf.ts:404:20 + ;;@ (lib)/allocator/tlsf.ts:407:20 (i32.const 2) ) ) - ;;@ (lib)/allocator/tlsf.ts:405:4 + ;;@ (lib)/allocator/tlsf.ts:408:4 (call "$(lib)/allocator/tlsf/Root#set:tailRef" (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:405:19 + ;;@ (lib)/allocator/tlsf.ts:408:19 (get_local $8) ) - ;;@ (lib)/allocator/tlsf.ts:407:9 + ;;@ (lib)/allocator/tlsf.ts:410:9 (call "$(lib)/allocator/tlsf/Root#insert" - ;;@ (lib)/allocator/tlsf.ts:407:4 + ;;@ (lib)/allocator/tlsf.ts:410:4 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:407:16 + ;;@ (lib)/allocator/tlsf.ts:410:16 (get_local $7) ) - ;;@ (lib)/allocator/tlsf.ts:409:11 + ;;@ (lib)/allocator/tlsf.ts:412:11 (return (i32.const 1) ) ) (func "$(lib)/allocator/tlsf/ffs" (; 14 ;) (type $ii) (param $0 i32) (result i32) - ;;@ (lib)/allocator/tlsf.ts:415:2 + ;;@ (lib)/allocator/tlsf.ts:418:2 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:415:9 + ;;@ (lib)/allocator/tlsf.ts:418:9 (i32.ne (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:415:17 + ;;@ (lib)/allocator/tlsf.ts:418:17 (i32.const 0) ) ) @@ -1634,29 +1634,29 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 415) + (i32.const 418) (i32.const 2) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:416:20 + ;;@ (lib)/allocator/tlsf.ts:419:20 (return - ;;@ (lib)/allocator/tlsf.ts:416:9 + ;;@ (lib)/allocator/tlsf.ts:419:9 (i32.ctz - ;;@ (lib)/allocator/tlsf.ts:416:16 + ;;@ (lib)/allocator/tlsf.ts:419:16 (get_local $0) ) ) ) (func "$(lib)/allocator/tlsf/ffs" (; 15 ;) (type $ii) (param $0 i32) (result i32) - ;;@ (lib)/allocator/tlsf.ts:415:2 + ;;@ (lib)/allocator/tlsf.ts:418:2 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:415:9 + ;;@ (lib)/allocator/tlsf.ts:418:9 (i32.ne (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:415:17 + ;;@ (lib)/allocator/tlsf.ts:418:17 (i32.const 0) ) ) @@ -1664,17 +1664,17 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 415) + (i32.const 418) (i32.const 2) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:416:20 + ;;@ (lib)/allocator/tlsf.ts:419:20 (return - ;;@ (lib)/allocator/tlsf.ts:416:9 + ;;@ (lib)/allocator/tlsf.ts:419:9 (i32.ctz - ;;@ (lib)/allocator/tlsf.ts:416:16 + ;;@ (lib)/allocator/tlsf.ts:419:16 (get_local $0) ) ) @@ -1686,23 +1686,23 @@ (local $5 i32) (local $6 i32) (local $7 i32) - ;;@ (lib)/allocator/tlsf.ts:289:4 + ;;@ (lib)/allocator/tlsf.ts:292:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:289:11 + ;;@ (lib)/allocator/tlsf.ts:292:11 (i32.and (if (result i32) (tee_local $2 (i32.ge_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:289:19 - (i32.const 12) + ;;@ (lib)/allocator/tlsf.ts:292:19 + (i32.const 16) ) ) - ;;@ (lib)/allocator/tlsf.ts:289:37 + ;;@ (lib)/allocator/tlsf.ts:292:37 (i32.lt_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:289:44 + ;;@ (lib)/allocator/tlsf.ts:292:44 (i32.const 1073741824) ) (get_local $2) @@ -1714,218 +1714,218 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 289) + (i32.const 292) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:292:4 + ;;@ (lib)/allocator/tlsf.ts:295:4 (nop) - ;;@ (lib)/allocator/tlsf.ts:293:4 + ;;@ (lib)/allocator/tlsf.ts:296:4 (if - ;;@ (lib)/allocator/tlsf.ts:293:8 + ;;@ (lib)/allocator/tlsf.ts:296:8 (i32.lt_u (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:293:15 - (i32.const 128) + ;;@ (lib)/allocator/tlsf.ts:296:15 + (i32.const 256) ) - ;;@ (lib)/allocator/tlsf.ts:293:24 + ;;@ (lib)/allocator/tlsf.ts:296:24 (block - ;;@ (lib)/allocator/tlsf.ts:294:6 + ;;@ (lib)/allocator/tlsf.ts:297:6 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:294:11 + ;;@ (lib)/allocator/tlsf.ts:297:11 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:295:6 + ;;@ (lib)/allocator/tlsf.ts:298:6 (set_local $4 - ;;@ (lib)/allocator/tlsf.ts:295:11 + ;;@ (lib)/allocator/tlsf.ts:298:11 (i32.div_u - ;;@ (lib)/allocator/tlsf.ts:295:17 + ;;@ (lib)/allocator/tlsf.ts:298:17 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:295:24 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:298:24 + (i32.const 8) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:296:11 + ;;@ (lib)/allocator/tlsf.ts:299:11 (block - ;;@ (lib)/allocator/tlsf.ts:298:6 + ;;@ (lib)/allocator/tlsf.ts:301:6 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:298:11 + ;;@ (lib)/allocator/tlsf.ts:301:11 (call "$(lib)/allocator/tlsf/fls" - ;;@ (lib)/allocator/tlsf.ts:298:22 + ;;@ (lib)/allocator/tlsf.ts:301:22 (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:299:6 + ;;@ (lib)/allocator/tlsf.ts:302:6 (set_local $4 - ;;@ (lib)/allocator/tlsf.ts:299:11 + ;;@ (lib)/allocator/tlsf.ts:302:11 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:299:17 + ;;@ (lib)/allocator/tlsf.ts:302:17 (i32.shr_u - ;;@ (lib)/allocator/tlsf.ts:299:18 + ;;@ (lib)/allocator/tlsf.ts:302:18 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:299:26 + ;;@ (lib)/allocator/tlsf.ts:302:26 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:299:27 + ;;@ (lib)/allocator/tlsf.ts:302:27 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:299:32 + ;;@ (lib)/allocator/tlsf.ts:302:32 (i32.const 5) ) ) - ;;@ (lib)/allocator/tlsf.ts:299:44 + ;;@ (lib)/allocator/tlsf.ts:302:44 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:299:45 + ;;@ (lib)/allocator/tlsf.ts:302:45 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:299:50 + ;;@ (lib)/allocator/tlsf.ts:302:50 (i32.const 5) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:300:6 + ;;@ (lib)/allocator/tlsf.ts:303:6 (set_local $3 (i32.sub (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:300:12 + ;;@ (lib)/allocator/tlsf.ts:303:12 (i32.sub - (i32.const 7) - ;;@ (lib)/allocator/tlsf.ts:300:22 + (i32.const 8) + ;;@ (lib)/allocator/tlsf.ts:303:22 (i32.const 1) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:302:6 + ;;@ (lib)/allocator/tlsf.ts:305:6 (if - ;;@ (lib)/allocator/tlsf.ts:302:10 + ;;@ (lib)/allocator/tlsf.ts:305:10 (i32.lt_u (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:302:15 + ;;@ (lib)/allocator/tlsf.ts:305:15 (i32.sub (i32.const 32) - ;;@ (lib)/allocator/tlsf.ts:302:25 + ;;@ (lib)/allocator/tlsf.ts:305:25 (i32.const 1) ) ) - ;;@ (lib)/allocator/tlsf.ts:302:28 + ;;@ (lib)/allocator/tlsf.ts:305:28 (set_local $4 (i32.add - ;;@ (lib)/allocator/tlsf.ts:302:30 + ;;@ (lib)/allocator/tlsf.ts:305:30 (get_local $4) (i32.const 1) ) ) - ;;@ (lib)/allocator/tlsf.ts:303:11 + ;;@ (lib)/allocator/tlsf.ts:306:11 (block (set_local $3 (i32.add - ;;@ (lib)/allocator/tlsf.ts:303:13 + ;;@ (lib)/allocator/tlsf.ts:306:13 (get_local $3) (i32.const 1) ) ) - ;;@ (lib)/allocator/tlsf.ts:303:17 + ;;@ (lib)/allocator/tlsf.ts:306:17 (set_local $4 - ;;@ (lib)/allocator/tlsf.ts:303:22 + ;;@ (lib)/allocator/tlsf.ts:306:22 (i32.const 0) ) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:307:4 + ;;@ (lib)/allocator/tlsf.ts:310:4 (set_local $5 - ;;@ (lib)/allocator/tlsf.ts:307:16 + ;;@ (lib)/allocator/tlsf.ts:310:16 (i32.and - ;;@ (lib)/allocator/tlsf.ts:307:21 + ;;@ (lib)/allocator/tlsf.ts:310:21 (call "$(lib)/allocator/tlsf/Root#getSLMap" - ;;@ (lib)/allocator/tlsf.ts:307:16 + ;;@ (lib)/allocator/tlsf.ts:310:16 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:307:30 + ;;@ (lib)/allocator/tlsf.ts:310:30 (get_local $3) ) - ;;@ (lib)/allocator/tlsf.ts:307:36 + ;;@ (lib)/allocator/tlsf.ts:310:36 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:307:37 + ;;@ (lib)/allocator/tlsf.ts:310:37 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:307:38 + ;;@ (lib)/allocator/tlsf.ts:310:38 (i32.const 0) (i32.const -1) ) - ;;@ (lib)/allocator/tlsf.ts:307:43 + ;;@ (lib)/allocator/tlsf.ts:310:43 (get_local $4) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:308:4 + ;;@ (lib)/allocator/tlsf.ts:311:4 (nop) - ;;@ (lib)/allocator/tlsf.ts:309:4 + ;;@ (lib)/allocator/tlsf.ts:312:4 (if - ;;@ (lib)/allocator/tlsf.ts:309:8 + ;;@ (lib)/allocator/tlsf.ts:312:8 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:309:9 + ;;@ (lib)/allocator/tlsf.ts:312:9 (get_local $5) ) - ;;@ (lib)/allocator/tlsf.ts:309:16 + ;;@ (lib)/allocator/tlsf.ts:312:16 (block - ;;@ (lib)/allocator/tlsf.ts:311:6 + ;;@ (lib)/allocator/tlsf.ts:314:6 (set_local $7 - ;;@ (lib)/allocator/tlsf.ts:311:18 + ;;@ (lib)/allocator/tlsf.ts:314:18 (i32.and (i32.load (get_local $0) ) - ;;@ (lib)/allocator/tlsf.ts:311:31 + ;;@ (lib)/allocator/tlsf.ts:314:31 (i32.shl - ;;@ (lib)/allocator/tlsf.ts:311:32 + ;;@ (lib)/allocator/tlsf.ts:314:32 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:311:33 + ;;@ (lib)/allocator/tlsf.ts:314:33 (i32.const 0) (i32.const -1) ) - ;;@ (lib)/allocator/tlsf.ts:311:38 + ;;@ (lib)/allocator/tlsf.ts:314:38 (i32.add - ;;@ (lib)/allocator/tlsf.ts:311:39 + ;;@ (lib)/allocator/tlsf.ts:314:39 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:311:44 + ;;@ (lib)/allocator/tlsf.ts:314:44 (i32.const 1) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:312:6 + ;;@ (lib)/allocator/tlsf.ts:315:6 (if - ;;@ (lib)/allocator/tlsf.ts:312:10 + ;;@ (lib)/allocator/tlsf.ts:315:10 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:312:11 + ;;@ (lib)/allocator/tlsf.ts:315:11 (get_local $7) ) - ;;@ (lib)/allocator/tlsf.ts:313:8 + ;;@ (lib)/allocator/tlsf.ts:316:8 (set_local $6 - ;;@ (lib)/allocator/tlsf.ts:313:15 + ;;@ (lib)/allocator/tlsf.ts:316:15 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:314:13 + ;;@ (lib)/allocator/tlsf.ts:317:13 (block - ;;@ (lib)/allocator/tlsf.ts:315:8 + ;;@ (lib)/allocator/tlsf.ts:318:8 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:315:13 + ;;@ (lib)/allocator/tlsf.ts:318:13 (call "$(lib)/allocator/tlsf/ffs" - ;;@ (lib)/allocator/tlsf.ts:315:24 + ;;@ (lib)/allocator/tlsf.ts:318:24 (get_local $7) ) ) - ;;@ (lib)/allocator/tlsf.ts:316:8 + ;;@ (lib)/allocator/tlsf.ts:319:8 (set_local $5 - ;;@ (lib)/allocator/tlsf.ts:316:16 + ;;@ (lib)/allocator/tlsf.ts:319:16 (if (result i32) (i32.eqz (tee_local $2 - ;;@ (lib)/allocator/tlsf.ts:316:28 + ;;@ (lib)/allocator/tlsf.ts:319:28 (call "$(lib)/allocator/tlsf/Root#getSLMap" - ;;@ (lib)/allocator/tlsf.ts:316:23 + ;;@ (lib)/allocator/tlsf.ts:319:23 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:316:37 + ;;@ (lib)/allocator/tlsf.ts:319:37 (get_local $3) ) ) @@ -1934,7 +1934,7 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 316) + (i32.const 319) (i32.const 16) ) (unreachable) @@ -1942,17 +1942,17 @@ (get_local $2) ) ) - ;;@ (lib)/allocator/tlsf.ts:317:8 + ;;@ (lib)/allocator/tlsf.ts:320:8 (set_local $6 - ;;@ (lib)/allocator/tlsf.ts:317:20 + ;;@ (lib)/allocator/tlsf.ts:320:20 (call "$(lib)/allocator/tlsf/Root#getHead" - ;;@ (lib)/allocator/tlsf.ts:317:15 + ;;@ (lib)/allocator/tlsf.ts:320:15 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:317:28 + ;;@ (lib)/allocator/tlsf.ts:320:28 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:317:32 + ;;@ (lib)/allocator/tlsf.ts:320:32 (call "$(lib)/allocator/tlsf/ffs" - ;;@ (lib)/allocator/tlsf.ts:317:41 + ;;@ (lib)/allocator/tlsf.ts:320:41 (get_local $5) ) ) @@ -1960,23 +1960,23 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:320:6 + ;;@ (lib)/allocator/tlsf.ts:323:6 (set_local $6 - ;;@ (lib)/allocator/tlsf.ts:320:18 + ;;@ (lib)/allocator/tlsf.ts:323:18 (call "$(lib)/allocator/tlsf/Root#getHead" - ;;@ (lib)/allocator/tlsf.ts:320:13 + ;;@ (lib)/allocator/tlsf.ts:323:13 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:320:26 + ;;@ (lib)/allocator/tlsf.ts:323:26 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:320:30 + ;;@ (lib)/allocator/tlsf.ts:323:30 (call "$(lib)/allocator/tlsf/ffs" - ;;@ (lib)/allocator/tlsf.ts:320:39 + ;;@ (lib)/allocator/tlsf.ts:323:39 (get_local $5) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:322:11 + ;;@ (lib)/allocator/tlsf.ts:325:11 (return (get_local $6) ) @@ -1987,20 +1987,20 @@ (local $5 i32) (local $6 i32) (local $7 i32) - ;;@ (lib)/allocator/tlsf.ts:340:4 + ;;@ (lib)/allocator/tlsf.ts:343:4 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:340:20 + ;;@ (lib)/allocator/tlsf.ts:343:20 (i32.load (get_local $1) ) ) - ;;@ (lib)/allocator/tlsf.ts:341:4 + ;;@ (lib)/allocator/tlsf.ts:344:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:341:11 + ;;@ (lib)/allocator/tlsf.ts:344:11 (i32.and (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:341:23 + ;;@ (lib)/allocator/tlsf.ts:344:23 (i32.const 1) ) ) @@ -2008,29 +2008,29 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 341) + (i32.const 344) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:342:4 + ;;@ (lib)/allocator/tlsf.ts:345:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:342:11 + ;;@ (lib)/allocator/tlsf.ts:345:11 (i32.and (if (result i32) (tee_local $4 (i32.ge_u (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:342:19 - (i32.const 12) + ;;@ (lib)/allocator/tlsf.ts:345:19 + (i32.const 16) ) ) - ;;@ (lib)/allocator/tlsf.ts:342:37 + ;;@ (lib)/allocator/tlsf.ts:345:37 (i32.lt_u (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:342:44 + ;;@ (lib)/allocator/tlsf.ts:345:44 (i32.const 1073741824) ) (get_local $4) @@ -2042,23 +2042,23 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 342) + (i32.const 345) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:343:4 + ;;@ (lib)/allocator/tlsf.ts:346:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:343:11 + ;;@ (lib)/allocator/tlsf.ts:346:11 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:343:12 + ;;@ (lib)/allocator/tlsf.ts:346:12 (i32.and - ;;@ (lib)/allocator/tlsf.ts:343:13 + ;;@ (lib)/allocator/tlsf.ts:346:13 (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:343:20 - (i32.const 3) + ;;@ (lib)/allocator/tlsf.ts:346:20 + (i32.const 7) ) ) ) @@ -2066,126 +2066,126 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 343) + (i32.const 346) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:345:9 + ;;@ (lib)/allocator/tlsf.ts:348:9 (call "$(lib)/allocator/tlsf/Root#remove" - ;;@ (lib)/allocator/tlsf.ts:345:4 + ;;@ (lib)/allocator/tlsf.ts:348:4 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:345:16 + ;;@ (lib)/allocator/tlsf.ts:348:16 (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:348:4 + ;;@ (lib)/allocator/tlsf.ts:351:4 (set_local $5 - ;;@ (lib)/allocator/tlsf.ts:348:20 + ;;@ (lib)/allocator/tlsf.ts:351:20 (i32.sub (i32.and - ;;@ (lib)/allocator/tlsf.ts:348:21 + ;;@ (lib)/allocator/tlsf.ts:351:21 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:348:33 + ;;@ (lib)/allocator/tlsf.ts:351:33 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:348:34 + ;;@ (lib)/allocator/tlsf.ts:351:34 (i32.const 3) (i32.const -1) ) ) - ;;@ (lib)/allocator/tlsf.ts:348:42 + ;;@ (lib)/allocator/tlsf.ts:351:42 (get_local $2) ) ) - ;;@ (lib)/allocator/tlsf.ts:349:4 + ;;@ (lib)/allocator/tlsf.ts:352:4 (if - ;;@ (lib)/allocator/tlsf.ts:349:8 + ;;@ (lib)/allocator/tlsf.ts:352:8 (i32.ge_u (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:349:21 + ;;@ (lib)/allocator/tlsf.ts:352:21 (i32.add - (i32.const 4) - ;;@ (lib)/allocator/tlsf.ts:349:34 - (i32.const 12) + (i32.const 8) + ;;@ (lib)/allocator/tlsf.ts:352:34 + (i32.const 16) ) ) - ;;@ (lib)/allocator/tlsf.ts:349:50 + ;;@ (lib)/allocator/tlsf.ts:352:50 (block - ;;@ (lib)/allocator/tlsf.ts:350:6 + ;;@ (lib)/allocator/tlsf.ts:353:6 (i32.store (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:350:19 + ;;@ (lib)/allocator/tlsf.ts:353:19 (i32.or (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:350:26 + ;;@ (lib)/allocator/tlsf.ts:353:26 (i32.and - ;;@ (lib)/allocator/tlsf.ts:350:27 + ;;@ (lib)/allocator/tlsf.ts:353:27 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:350:39 + ;;@ (lib)/allocator/tlsf.ts:353:39 (i32.const 2) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:352:6 + ;;@ (lib)/allocator/tlsf.ts:355:6 (set_local $6 - ;;@ (lib)/allocator/tlsf.ts:352:18 + ;;@ (lib)/allocator/tlsf.ts:355:18 (i32.add - ;;@ (lib)/allocator/tlsf.ts:353:8 + ;;@ (lib)/allocator/tlsf.ts:356:8 (i32.add (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:353:35 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:356:35 + (i32.const 8) ) - ;;@ (lib)/allocator/tlsf.ts:353:48 + ;;@ (lib)/allocator/tlsf.ts:356:48 (get_local $2) ) ) - ;;@ (lib)/allocator/tlsf.ts:355:6 + ;;@ (lib)/allocator/tlsf.ts:358:6 (i32.store (get_local $6) - ;;@ (lib)/allocator/tlsf.ts:355:19 + ;;@ (lib)/allocator/tlsf.ts:358:19 (i32.or (i32.sub - ;;@ (lib)/allocator/tlsf.ts:355:20 + ;;@ (lib)/allocator/tlsf.ts:358:20 (get_local $5) - ;;@ (lib)/allocator/tlsf.ts:355:32 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:358:32 + (i32.const 8) ) - ;;@ (lib)/allocator/tlsf.ts:355:46 + ;;@ (lib)/allocator/tlsf.ts:358:46 (i32.const 1) ) ) - ;;@ (lib)/allocator/tlsf.ts:356:11 + ;;@ (lib)/allocator/tlsf.ts:359:11 (call "$(lib)/allocator/tlsf/Root#insert" - ;;@ (lib)/allocator/tlsf.ts:356:6 + ;;@ (lib)/allocator/tlsf.ts:359:6 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:356:18 + ;;@ (lib)/allocator/tlsf.ts:359:18 (get_local $6) ) ) - ;;@ (lib)/allocator/tlsf.ts:359:11 + ;;@ (lib)/allocator/tlsf.ts:362:11 (block - ;;@ (lib)/allocator/tlsf.ts:360:6 + ;;@ (lib)/allocator/tlsf.ts:363:6 (i32.store (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:360:19 + ;;@ (lib)/allocator/tlsf.ts:363:19 (i32.and (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:360:31 + ;;@ (lib)/allocator/tlsf.ts:363:31 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:360:32 + ;;@ (lib)/allocator/tlsf.ts:363:32 (i32.const 1) (i32.const -1) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:361:6 + ;;@ (lib)/allocator/tlsf.ts:364:6 (set_local $7 - ;;@ (lib)/allocator/tlsf.ts:361:25 + ;;@ (lib)/allocator/tlsf.ts:364:25 (if (result i32) (i32.eqz (tee_local $4 - ;;@ (lib)/allocator/tlsf.ts:361:32 + ;;@ (lib)/allocator/tlsf.ts:364:32 (call "$(lib)/allocator/tlsf/Block#get:right" (get_local $1) ) @@ -2195,7 +2195,7 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 361) + (i32.const 364) (i32.const 25) ) (unreachable) @@ -2203,16 +2203,16 @@ (get_local $4) ) ) - ;;@ (lib)/allocator/tlsf.ts:362:6 + ;;@ (lib)/allocator/tlsf.ts:365:6 (i32.store (get_local $7) (i32.and (i32.load (get_local $7) ) - ;;@ (lib)/allocator/tlsf.ts:362:20 + ;;@ (lib)/allocator/tlsf.ts:365:20 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:362:21 + ;;@ (lib)/allocator/tlsf.ts:365:21 (i32.const 2) (i32.const -1) ) @@ -2220,13 +2220,13 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:365:44 + ;;@ (lib)/allocator/tlsf.ts:368:44 (return - ;;@ (lib)/allocator/tlsf.ts:365:11 + ;;@ (lib)/allocator/tlsf.ts:368:11 (i32.add (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:365:38 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:368:38 + (i32.const 8) ) ) ) @@ -2243,117 +2243,117 @@ (local $10 i32) (local $11 i32) (local $12 i32) - ;;@ (lib)/allocator/tlsf.ts:436:2 + ;;@ (lib)/allocator/tlsf.ts:439:2 (set_local $1 - ;;@ (lib)/allocator/tlsf.ts:436:13 + ;;@ (lib)/allocator/tlsf.ts:439:13 (get_global "$(lib)/allocator/tlsf/ROOT") ) - ;;@ (lib)/allocator/tlsf.ts:437:2 + ;;@ (lib)/allocator/tlsf.ts:440:2 (if - ;;@ (lib)/allocator/tlsf.ts:437:6 + ;;@ (lib)/allocator/tlsf.ts:440:6 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:437:7 + ;;@ (lib)/allocator/tlsf.ts:440:7 (get_local $1) ) - ;;@ (lib)/allocator/tlsf.ts:437:13 + ;;@ (lib)/allocator/tlsf.ts:440:13 (block - ;;@ (lib)/allocator/tlsf.ts:438:4 + ;;@ (lib)/allocator/tlsf.ts:441:4 (set_local $2 - ;;@ (lib)/allocator/tlsf.ts:438:21 + ;;@ (lib)/allocator/tlsf.ts:441:21 (i32.and (i32.add - ;;@ (lib)/allocator/tlsf.ts:438:22 + ;;@ (lib)/allocator/tlsf.ts:441:22 (get_global $HEAP_BASE) - ;;@ (lib)/allocator/tlsf.ts:438:34 - (i32.const 3) + ;;@ (lib)/allocator/tlsf.ts:441:34 + (i32.const 7) ) - ;;@ (lib)/allocator/tlsf.ts:438:45 + ;;@ (lib)/allocator/tlsf.ts:441:45 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:438:46 - (i32.const 3) + ;;@ (lib)/allocator/tlsf.ts:441:46 + (i32.const 7) (i32.const -1) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:439:4 + ;;@ (lib)/allocator/tlsf.ts:442:4 (set_global "$(lib)/allocator/tlsf/ROOT" - ;;@ (lib)/allocator/tlsf.ts:439:11 + ;;@ (lib)/allocator/tlsf.ts:442:11 (tee_local $1 - ;;@ (lib)/allocator/tlsf.ts:439:18 + ;;@ (lib)/allocator/tlsf.ts:442:18 (get_local $2) ) ) - ;;@ (lib)/allocator/tlsf.ts:440:4 + ;;@ (lib)/allocator/tlsf.ts:443:4 (call "$(lib)/allocator/tlsf/Root#set:tailRef" (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:440:19 + ;;@ (lib)/allocator/tlsf.ts:443:19 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:441:4 + ;;@ (lib)/allocator/tlsf.ts:444:4 (i32.store (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:441:17 + ;;@ (lib)/allocator/tlsf.ts:444:17 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:442:4 + ;;@ (lib)/allocator/tlsf.ts:445:4 (block $break|0 - ;;@ (lib)/allocator/tlsf.ts:442:9 + ;;@ (lib)/allocator/tlsf.ts:445:9 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:442:25 + ;;@ (lib)/allocator/tlsf.ts:445:25 (i32.const 0) ) (loop $continue|0 (if - ;;@ (lib)/allocator/tlsf.ts:442:28 + ;;@ (lib)/allocator/tlsf.ts:445:28 (i32.lt_u (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:442:33 - (i32.const 23) + ;;@ (lib)/allocator/tlsf.ts:445:33 + (i32.const 22) ) (block (block - ;;@ (lib)/allocator/tlsf.ts:443:11 + ;;@ (lib)/allocator/tlsf.ts:446:11 (call "$(lib)/allocator/tlsf/Root#setSLMap" - ;;@ (lib)/allocator/tlsf.ts:443:6 + ;;@ (lib)/allocator/tlsf.ts:446:6 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:443:20 + ;;@ (lib)/allocator/tlsf.ts:446:20 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:443:24 + ;;@ (lib)/allocator/tlsf.ts:446:24 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:444:6 + ;;@ (lib)/allocator/tlsf.ts:447:6 (block $break|1 - ;;@ (lib)/allocator/tlsf.ts:444:11 + ;;@ (lib)/allocator/tlsf.ts:447:11 (set_local $4 - ;;@ (lib)/allocator/tlsf.ts:444:25 + ;;@ (lib)/allocator/tlsf.ts:447:25 (i32.const 0) ) (loop $continue|1 (if - ;;@ (lib)/allocator/tlsf.ts:444:28 + ;;@ (lib)/allocator/tlsf.ts:447:28 (i32.lt_u (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:444:33 + ;;@ (lib)/allocator/tlsf.ts:447:33 (i32.const 32) ) (block (block - ;;@ (lib)/allocator/tlsf.ts:445:13 + ;;@ (lib)/allocator/tlsf.ts:448:13 (call "$(lib)/allocator/tlsf/Root#setHead" - ;;@ (lib)/allocator/tlsf.ts:445:8 + ;;@ (lib)/allocator/tlsf.ts:448:8 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:445:21 + ;;@ (lib)/allocator/tlsf.ts:448:21 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:445:25 + ;;@ (lib)/allocator/tlsf.ts:448:25 (get_local $4) - ;;@ (lib)/allocator/tlsf.ts:445:29 + ;;@ (lib)/allocator/tlsf.ts:448:29 (i32.const 0) ) ) - ;;@ (lib)/allocator/tlsf.ts:444:42 + ;;@ (lib)/allocator/tlsf.ts:447:42 (set_local $4 (i32.add - ;;@ (lib)/allocator/tlsf.ts:444:44 + ;;@ (lib)/allocator/tlsf.ts:447:44 (get_local $4) (i32.const 1) ) @@ -2364,10 +2364,10 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:442:42 + ;;@ (lib)/allocator/tlsf.ts:445:42 (set_local $3 (i32.add - ;;@ (lib)/allocator/tlsf.ts:442:44 + ;;@ (lib)/allocator/tlsf.ts:445:44 (get_local $3) (i32.const 1) ) @@ -2377,71 +2377,84 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:448:9 + ;;@ (lib)/allocator/tlsf.ts:451:9 (drop (call "$(lib)/allocator/tlsf/Root#addMemory" - ;;@ (lib)/allocator/tlsf.ts:448:4 + ;;@ (lib)/allocator/tlsf.ts:451:4 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:448:19 - (i32.add - (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:448:32 - (i32.const 3044) + ;;@ (lib)/allocator/tlsf.ts:451:19 + (i32.and + (i32.add + ;;@ (lib)/allocator/tlsf.ts:451:20 + (i32.add + (get_local $2) + ;;@ (lib)/allocator/tlsf.ts:451:33 + (i32.const 2916) + ) + ;;@ (lib)/allocator/tlsf.ts:451:45 + (i32.const 7) + ) + ;;@ (lib)/allocator/tlsf.ts:451:56 + (i32.xor + ;;@ (lib)/allocator/tlsf.ts:451:57 + (i32.const 7) + (i32.const -1) + ) ) - ;;@ (lib)/allocator/tlsf.ts:448:43 + ;;@ (lib)/allocator/tlsf.ts:451:66 (i32.shl (current_memory) - ;;@ (lib)/allocator/tlsf.ts:448:63 + ;;@ (lib)/allocator/tlsf.ts:451:86 (i32.const 16) ) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:452:2 + ;;@ (lib)/allocator/tlsf.ts:455:2 (set_local $5 - ;;@ (lib)/allocator/tlsf.ts:452:20 + ;;@ (lib)/allocator/tlsf.ts:455:20 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:453:2 + ;;@ (lib)/allocator/tlsf.ts:456:2 (if - ;;@ (lib)/allocator/tlsf.ts:453:6 + ;;@ (lib)/allocator/tlsf.ts:456:6 (if (result i32) (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:453:14 + ;;@ (lib)/allocator/tlsf.ts:456:14 (i32.lt_u (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:453:21 + ;;@ (lib)/allocator/tlsf.ts:456:21 (i32.const 1073741824) ) (get_local $0) ) - ;;@ (lib)/allocator/tlsf.ts:453:37 + ;;@ (lib)/allocator/tlsf.ts:456:37 (block - ;;@ (lib)/allocator/tlsf.ts:454:4 + ;;@ (lib)/allocator/tlsf.ts:457:4 (set_local $0 - ;;@ (lib)/allocator/tlsf.ts:454:11 + ;;@ (lib)/allocator/tlsf.ts:457:11 (select (tee_local $6 - ;;@ (lib)/allocator/tlsf.ts:454:22 + ;;@ (lib)/allocator/tlsf.ts:457:22 (i32.and (i32.add - ;;@ (lib)/allocator/tlsf.ts:454:23 + ;;@ (lib)/allocator/tlsf.ts:457:23 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:454:30 - (i32.const 3) + ;;@ (lib)/allocator/tlsf.ts:457:30 + (i32.const 7) ) - ;;@ (lib)/allocator/tlsf.ts:454:41 + ;;@ (lib)/allocator/tlsf.ts:457:41 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:454:42 - (i32.const 3) + ;;@ (lib)/allocator/tlsf.ts:457:42 + (i32.const 7) (i32.const -1) ) ) ) (tee_local $7 - ;;@ (lib)/allocator/tlsf.ts:454:51 - (i32.const 12) + ;;@ (lib)/allocator/tlsf.ts:457:51 + (i32.const 16) ) (i32.gt_u (get_local $6) @@ -2449,63 +2462,63 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:456:4 + ;;@ (lib)/allocator/tlsf.ts:459:4 (set_local $8 - ;;@ (lib)/allocator/tlsf.ts:456:21 + ;;@ (lib)/allocator/tlsf.ts:459:21 (call "$(lib)/allocator/tlsf/Root#search" - ;;@ (lib)/allocator/tlsf.ts:456:16 + ;;@ (lib)/allocator/tlsf.ts:459:16 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:456:28 + ;;@ (lib)/allocator/tlsf.ts:459:28 (get_local $0) ) ) - ;;@ (lib)/allocator/tlsf.ts:457:4 + ;;@ (lib)/allocator/tlsf.ts:460:4 (if - ;;@ (lib)/allocator/tlsf.ts:457:8 + ;;@ (lib)/allocator/tlsf.ts:460:8 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:457:9 + ;;@ (lib)/allocator/tlsf.ts:460:9 (get_local $8) ) - ;;@ (lib)/allocator/tlsf.ts:457:16 + ;;@ (lib)/allocator/tlsf.ts:460:16 (block - ;;@ (lib)/allocator/tlsf.ts:460:6 + ;;@ (lib)/allocator/tlsf.ts:463:6 (set_local $9 - ;;@ (lib)/allocator/tlsf.ts:460:24 + ;;@ (lib)/allocator/tlsf.ts:463:24 (current_memory) ) - ;;@ (lib)/allocator/tlsf.ts:461:6 + ;;@ (lib)/allocator/tlsf.ts:464:6 (set_local $10 - ;;@ (lib)/allocator/tlsf.ts:461:24 + ;;@ (lib)/allocator/tlsf.ts:464:24 (i32.shr_u (i32.and - ;;@ (lib)/allocator/tlsf.ts:461:25 + ;;@ (lib)/allocator/tlsf.ts:464:25 (i32.add - ;;@ (lib)/allocator/tlsf.ts:461:26 + ;;@ (lib)/allocator/tlsf.ts:464:26 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:461:33 + ;;@ (lib)/allocator/tlsf.ts:464:33 (i32.const 65535) ) - ;;@ (lib)/allocator/tlsf.ts:461:43 + ;;@ (lib)/allocator/tlsf.ts:464:43 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:461:44 + ;;@ (lib)/allocator/tlsf.ts:464:44 (i32.const 65535) (i32.const -1) ) ) - ;;@ (lib)/allocator/tlsf.ts:461:56 + ;;@ (lib)/allocator/tlsf.ts:464:56 (i32.const 16) ) ) - ;;@ (lib)/allocator/tlsf.ts:462:6 + ;;@ (lib)/allocator/tlsf.ts:465:6 (set_local $11 - ;;@ (lib)/allocator/tlsf.ts:462:24 + ;;@ (lib)/allocator/tlsf.ts:465:24 (select (tee_local $6 - ;;@ (lib)/allocator/tlsf.ts:462:28 + ;;@ (lib)/allocator/tlsf.ts:465:28 (get_local $9) ) (tee_local $7 - ;;@ (lib)/allocator/tlsf.ts:462:41 + ;;@ (lib)/allocator/tlsf.ts:465:41 (get_local $10) ) (i32.gt_s @@ -2514,67 +2527,67 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:463:6 + ;;@ (lib)/allocator/tlsf.ts:466:6 (if - ;;@ (lib)/allocator/tlsf.ts:463:10 + ;;@ (lib)/allocator/tlsf.ts:466:10 (i32.lt_s (grow_memory - ;;@ (lib)/allocator/tlsf.ts:463:22 + ;;@ (lib)/allocator/tlsf.ts:466:22 (get_local $11) ) - ;;@ (lib)/allocator/tlsf.ts:463:37 + ;;@ (lib)/allocator/tlsf.ts:466:37 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:464:8 + ;;@ (lib)/allocator/tlsf.ts:467:8 (if - ;;@ (lib)/allocator/tlsf.ts:464:12 + ;;@ (lib)/allocator/tlsf.ts:467:12 (i32.lt_s (grow_memory - ;;@ (lib)/allocator/tlsf.ts:464:24 + ;;@ (lib)/allocator/tlsf.ts:467:24 (get_local $10) ) - ;;@ (lib)/allocator/tlsf.ts:464:39 + ;;@ (lib)/allocator/tlsf.ts:467:39 (i32.const 0) ) - ;;@ (lib)/allocator/tlsf.ts:465:10 + ;;@ (lib)/allocator/tlsf.ts:468:10 (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:468:6 + ;;@ (lib)/allocator/tlsf.ts:471:6 (set_local $12 - ;;@ (lib)/allocator/tlsf.ts:468:23 + ;;@ (lib)/allocator/tlsf.ts:471:23 (current_memory) ) - ;;@ (lib)/allocator/tlsf.ts:469:11 + ;;@ (lib)/allocator/tlsf.ts:472:11 (drop (call "$(lib)/allocator/tlsf/Root#addMemory" - ;;@ (lib)/allocator/tlsf.ts:469:6 + ;;@ (lib)/allocator/tlsf.ts:472:6 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:469:21 + ;;@ (lib)/allocator/tlsf.ts:472:21 (i32.shl (get_local $9) - ;;@ (lib)/allocator/tlsf.ts:469:43 + ;;@ (lib)/allocator/tlsf.ts:472:43 (i32.const 16) ) - ;;@ (lib)/allocator/tlsf.ts:469:47 + ;;@ (lib)/allocator/tlsf.ts:472:47 (i32.shl (get_local $12) - ;;@ (lib)/allocator/tlsf.ts:469:68 + ;;@ (lib)/allocator/tlsf.ts:472:68 (i32.const 16) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:470:6 + ;;@ (lib)/allocator/tlsf.ts:473:6 (set_local $8 - ;;@ (lib)/allocator/tlsf.ts:470:14 + ;;@ (lib)/allocator/tlsf.ts:473:14 (if (result i32) (i32.eqz (tee_local $6 - ;;@ (lib)/allocator/tlsf.ts:470:26 + ;;@ (lib)/allocator/tlsf.ts:473:26 (call "$(lib)/allocator/tlsf/Root#search" - ;;@ (lib)/allocator/tlsf.ts:470:21 + ;;@ (lib)/allocator/tlsf.ts:473:21 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:470:33 + ;;@ (lib)/allocator/tlsf.ts:473:33 (get_local $0) ) ) @@ -2583,7 +2596,7 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 470) + (i32.const 473) (i32.const 14) ) (unreachable) @@ -2593,24 +2606,24 @@ ) ) ) - ;;@ (lib)/allocator/tlsf.ts:473:4 + ;;@ (lib)/allocator/tlsf.ts:476:4 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:473:11 + ;;@ (lib)/allocator/tlsf.ts:476:11 (i32.ge_u (i32.and - ;;@ (lib)/allocator/tlsf.ts:473:12 + ;;@ (lib)/allocator/tlsf.ts:476:12 (i32.load (get_local $8) ) - ;;@ (lib)/allocator/tlsf.ts:473:25 + ;;@ (lib)/allocator/tlsf.ts:476:25 (i32.xor - ;;@ (lib)/allocator/tlsf.ts:473:26 + ;;@ (lib)/allocator/tlsf.ts:476:26 (i32.const 3) (i32.const -1) ) ) - ;;@ (lib)/allocator/tlsf.ts:473:35 + ;;@ (lib)/allocator/tlsf.ts:476:35 (get_local $0) ) ) @@ -2618,27 +2631,27 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 473) + (i32.const 476) (i32.const 4) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:474:4 + ;;@ (lib)/allocator/tlsf.ts:477:4 (set_local $5 - ;;@ (lib)/allocator/tlsf.ts:474:16 + ;;@ (lib)/allocator/tlsf.ts:477:16 (call "$(lib)/allocator/tlsf/Root#use" - ;;@ (lib)/allocator/tlsf.ts:474:11 + ;;@ (lib)/allocator/tlsf.ts:477:11 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:474:20 + ;;@ (lib)/allocator/tlsf.ts:477:20 (get_local $8) - ;;@ (lib)/allocator/tlsf.ts:474:27 + ;;@ (lib)/allocator/tlsf.ts:477:27 (get_local $0) ) ) ) ) - ;;@ (lib)/allocator/tlsf.ts:477:9 + ;;@ (lib)/allocator/tlsf.ts:480:9 (return (get_local $5) ) @@ -2647,50 +2660,50 @@ (local $1 i32) (local $2 i32) (local $3 i32) - ;;@ (lib)/allocator/tlsf.ts:483:2 + ;;@ (lib)/allocator/tlsf.ts:486:2 (if - ;;@ (lib)/allocator/tlsf.ts:483:6 + ;;@ (lib)/allocator/tlsf.ts:486:6 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:483:12 + ;;@ (lib)/allocator/tlsf.ts:486:12 (block - ;;@ (lib)/allocator/tlsf.ts:484:4 + ;;@ (lib)/allocator/tlsf.ts:487:4 (set_local $1 - ;;@ (lib)/allocator/tlsf.ts:484:15 + ;;@ (lib)/allocator/tlsf.ts:487:15 (get_global "$(lib)/allocator/tlsf/ROOT") ) - ;;@ (lib)/allocator/tlsf.ts:485:4 + ;;@ (lib)/allocator/tlsf.ts:488:4 (if - ;;@ (lib)/allocator/tlsf.ts:485:8 + ;;@ (lib)/allocator/tlsf.ts:488:8 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:485:14 + ;;@ (lib)/allocator/tlsf.ts:488:14 (block - ;;@ (lib)/allocator/tlsf.ts:486:6 + ;;@ (lib)/allocator/tlsf.ts:489:6 (set_local $2 - ;;@ (lib)/allocator/tlsf.ts:486:18 + ;;@ (lib)/allocator/tlsf.ts:489:18 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:486:36 + ;;@ (lib)/allocator/tlsf.ts:489:36 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:486:43 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:489:43 + (i32.const 8) ) ) - ;;@ (lib)/allocator/tlsf.ts:487:6 + ;;@ (lib)/allocator/tlsf.ts:490:6 (set_local $3 - ;;@ (lib)/allocator/tlsf.ts:487:22 + ;;@ (lib)/allocator/tlsf.ts:490:22 (i32.load (get_local $2) ) ) - ;;@ (lib)/allocator/tlsf.ts:488:6 + ;;@ (lib)/allocator/tlsf.ts:491:6 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:488:13 + ;;@ (lib)/allocator/tlsf.ts:491:13 (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:488:14 + ;;@ (lib)/allocator/tlsf.ts:491:14 (i32.and - ;;@ (lib)/allocator/tlsf.ts:488:15 + ;;@ (lib)/allocator/tlsf.ts:491:15 (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:488:27 + ;;@ (lib)/allocator/tlsf.ts:491:27 (i32.const 1) ) ) @@ -2699,32 +2712,32 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 488) + (i32.const 491) (i32.const 6) ) (unreachable) ) ) - ;;@ (lib)/allocator/tlsf.ts:489:6 + ;;@ (lib)/allocator/tlsf.ts:492:6 (i32.store (get_local $2) - ;;@ (lib)/allocator/tlsf.ts:489:19 + ;;@ (lib)/allocator/tlsf.ts:492:19 (i32.or (get_local $3) - ;;@ (lib)/allocator/tlsf.ts:489:31 + ;;@ (lib)/allocator/tlsf.ts:492:31 (i32.const 1) ) ) - ;;@ (lib)/allocator/tlsf.ts:490:11 + ;;@ (lib)/allocator/tlsf.ts:493:11 (call "$(lib)/allocator/tlsf/Root#insert" - ;;@ (lib)/allocator/tlsf.ts:490:6 + ;;@ (lib)/allocator/tlsf.ts:493:6 (get_local $1) - ;;@ (lib)/allocator/tlsf.ts:490:18 + ;;@ (lib)/allocator/tlsf.ts:493:18 (i32.sub - ;;@ (lib)/allocator/tlsf.ts:490:36 + ;;@ (lib)/allocator/tlsf.ts:493:36 (get_local $0) - ;;@ (lib)/allocator/tlsf.ts:490:43 - (i32.const 4) + ;;@ (lib)/allocator/tlsf.ts:493:43 + (i32.const 8) ) ) ) @@ -2733,38 +2746,18 @@ ) ) (func $start (; 20 ;) (type $v) - ;;@ (lib)/allocator/tlsf.ts:49:0 + ;;@ (lib)/allocator/tlsf.ts:118:0 (if (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:49:7 - (i32.ge_u - (i32.const 2) - ;;@ (lib)/allocator/tlsf.ts:49:18 - (i32.const 2) - ) - ) - (block - (call $abort - (i32.const 0) - (i32.const 4) - (i32.const 49) - (i32.const 0) - ) - (unreachable) - ) - ) - ;;@ (lib)/allocator/tlsf.ts:115:0 - (if - (i32.eqz - ;;@ (lib)/allocator/tlsf.ts:115:7 + ;;@ (lib)/allocator/tlsf.ts:118:7 (i32.le_s (i32.shl - ;;@ (lib)/allocator/tlsf.ts:115:8 + ;;@ (lib)/allocator/tlsf.ts:118:8 (i32.const 1) - ;;@ (lib)/allocator/tlsf.ts:115:13 + ;;@ (lib)/allocator/tlsf.ts:118:13 (i32.const 5) ) - ;;@ (lib)/allocator/tlsf.ts:115:25 + ;;@ (lib)/allocator/tlsf.ts:118:25 (i32.const 32) ) ) @@ -2772,7 +2765,7 @@ (call $abort (i32.const 0) (i32.const 4) - (i32.const 115) + (i32.const 118) (i32.const 0) ) (unreachable)