mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-25 12:41:50 +00:00
Ensure consistent variable modifiers
'var' is a distinct local or mutable global, 'let' a shared local
This commit is contained in:
@ -16,8 +16,8 @@ export function allocate_memory(size: usize): usize {
|
||||
var newPtr = (ptr + size + AL_MASK) & ~AL_MASK;
|
||||
var pagesBefore = current_memory();
|
||||
if (newPtr > <usize>pagesBefore << 16) {
|
||||
var pagesNeeded = ((newPtr - ptr + 0xffff) & ~0xffff) >>> 16;
|
||||
var pagesWanted = max(pagesBefore, pagesNeeded); // double memory
|
||||
let pagesNeeded = ((newPtr - ptr + 0xffff) & ~0xffff) >>> 16;
|
||||
let pagesWanted = max(pagesBefore, pagesNeeded); // double memory
|
||||
if (grow_memory(pagesWanted) < 0) {
|
||||
if (grow_memory(pagesNeeded) < 0) {
|
||||
unreachable(); // out of memory
|
||||
|
@ -175,8 +175,8 @@ function update_max_ptr(new_value: usize): i32 {
|
||||
// if (brk(new_value)) {
|
||||
// return 0;
|
||||
// }
|
||||
var oldPages = <u32>current_memory();
|
||||
var newPages = <u32>(((new_value + 0xffff) & ~0xffff) >> 16);
|
||||
let oldPages = <u32>current_memory();
|
||||
let newPages = <u32>(((new_value + 0xffff) & ~0xffff) >> 16);
|
||||
assert(newPages > oldPages);
|
||||
if (grow_memory(newPages - oldPages) < 0) {
|
||||
return 0;
|
||||
@ -293,8 +293,8 @@ function bucket_for_request(request: usize): usize {
|
||||
*/
|
||||
function lower_bucket_limit(bucket: usize): u32 {
|
||||
while (bucket < bucket_limit) {
|
||||
var root = node_for_ptr(base_ptr, bucket_limit);
|
||||
var right_child: usize;
|
||||
let root = node_for_ptr(base_ptr, bucket_limit);
|
||||
let right_child: usize;
|
||||
|
||||
/*
|
||||
* If the parent isn't SPLIT, that means the node at the current bucket
|
||||
@ -380,8 +380,8 @@ export function allocate_memory(request: usize): usize {
|
||||
* larger one to get a match.
|
||||
*/
|
||||
while (bucket + 1 != 0) {
|
||||
var size: usize, bytes_needed: usize, i: usize;
|
||||
var ptr: usize;
|
||||
let size: usize, bytes_needed: usize, i: usize;
|
||||
let ptr: usize;
|
||||
|
||||
/*
|
||||
* We may need to grow the tree to be able to fit an allocation of this
|
||||
|
@ -206,8 +206,8 @@ class Root {
|
||||
|
||||
// merge with left block if also free
|
||||
if (blockInfo & LEFT_FREE) {
|
||||
var left: Block = assert(block.left); // can't be null
|
||||
var leftInfo = left.info;
|
||||
let left: Block = assert(block.left); // can't be null
|
||||
let leftInfo = left.info;
|
||||
assert(leftInfo & FREE); // must be free according to tags
|
||||
this.remove(left);
|
||||
left.info = (leftInfo += Block.INFO + (blockInfo & ~TAGS));
|
||||
@ -280,7 +280,7 @@ class Root {
|
||||
|
||||
// clear second level map if head is empty now
|
||||
if (!next) {
|
||||
var slMap = this.getSLMap(fl);
|
||||
let slMap = this.getSLMap(fl);
|
||||
this.setSLMap(fl, slMap &= ~(1 << sl));
|
||||
|
||||
// clear first level map if second level is empty now
|
||||
@ -313,7 +313,7 @@ class Root {
|
||||
var head: Block | null;
|
||||
if (!slMap) {
|
||||
// search next larger first level
|
||||
var flMap = this.flMap & (~0 << (fl + 1));
|
||||
let flMap = this.flMap & (~0 << (fl + 1));
|
||||
if (!flMap) {
|
||||
head = null;
|
||||
} else {
|
||||
@ -354,7 +354,7 @@ class Root {
|
||||
if (remaining >= Block.INFO + Block.MIN_SIZE) {
|
||||
block.info = size | (blockInfo & LEFT_FREE); // also discards FREE
|
||||
|
||||
var spare = changetype<Block>(
|
||||
let spare = changetype<Block>(
|
||||
changetype<usize>(block) + Block.INFO + size
|
||||
);
|
||||
spare.info = (remaining - Block.INFO) | FREE; // not LEFT_FREE
|
||||
@ -363,7 +363,7 @@ class Root {
|
||||
// otherwise tag block as no longer FREE and right as no longer LEFT_FREE
|
||||
} else {
|
||||
block.info = blockInfo & ~FREE;
|
||||
var right: Block = assert(block.right); // can't be null (tail)
|
||||
let right: Block = assert(block.right); // can't be null (tail)
|
||||
right.info &= ~LEFT_FREE;
|
||||
}
|
||||
|
||||
@ -440,13 +440,13 @@ export function allocate_memory(size: usize): usize {
|
||||
// initialize if necessary
|
||||
var root = ROOT;
|
||||
if (!root) {
|
||||
var rootOffset = (HEAP_BASE + AL_MASK) & ~AL_MASK;
|
||||
let rootOffset = (HEAP_BASE + AL_MASK) & ~AL_MASK;
|
||||
ROOT = root = changetype<Root>(rootOffset);
|
||||
root.tailRef = 0;
|
||||
root.flMap = 0;
|
||||
for (var fl: usize = 0; fl < FL_BITS; ++fl) {
|
||||
for (let fl: usize = 0; fl < FL_BITS; ++fl) {
|
||||
root.setSLMap(fl, 0);
|
||||
for (var sl: u32 = 0; sl < SL_SIZE; ++sl) {
|
||||
for (let sl: u32 = 0; sl < SL_SIZE; ++sl) {
|
||||
root.setHead(fl, sl, null);
|
||||
}
|
||||
}
|
||||
@ -458,19 +458,19 @@ export function allocate_memory(size: usize): usize {
|
||||
if (size && size < Block.MAX_SIZE) {
|
||||
size = max<usize>((size + AL_MASK) & ~AL_MASK, Block.MIN_SIZE);
|
||||
|
||||
var block = root.search(size);
|
||||
let block = root.search(size);
|
||||
if (!block) {
|
||||
|
||||
// request more memory
|
||||
var pagesBefore = current_memory();
|
||||
var pagesNeeded = ((size + 0xffff) & ~0xffff) >>> 16;
|
||||
var pagesWanted = max(pagesBefore, pagesNeeded); // double memory
|
||||
let pagesBefore = current_memory();
|
||||
let pagesNeeded = ((size + 0xffff) & ~0xffff) >>> 16;
|
||||
let pagesWanted = max(pagesBefore, pagesNeeded); // double memory
|
||||
if (grow_memory(pagesWanted) < 0) {
|
||||
if (grow_memory(pagesNeeded) < 0) {
|
||||
unreachable(); // out of memory
|
||||
}
|
||||
}
|
||||
var pagesAfter = current_memory();
|
||||
let pagesAfter = current_memory();
|
||||
root.addMemory(<usize>pagesBefore << 16, <usize>pagesAfter << 16);
|
||||
block = assert(root.search(size)); // must be found now
|
||||
}
|
||||
@ -486,10 +486,10 @@ export function allocate_memory(size: usize): usize {
|
||||
@global
|
||||
export function free_memory(data: usize): void {
|
||||
if (data) {
|
||||
var root = ROOT;
|
||||
let root = ROOT;
|
||||
if (root) {
|
||||
var block = changetype<Block>(data - Block.INFO);
|
||||
var blockInfo = block.info;
|
||||
let block = changetype<Block>(data - Block.INFO);
|
||||
let blockInfo = block.info;
|
||||
assert(!(blockInfo & FREE)); // must be used
|
||||
block.info = blockInfo | FREE;
|
||||
root.insert(changetype<Block>(data - Block.INFO));
|
||||
|
Reference in New Issue
Block a user