Skip to content

Commit 2723b1b

Browse files
committed
refactor
1 parent 6dce0f2 commit 2723b1b

File tree

1 file changed

+51
-27
lines changed

1 file changed

+51
-27
lines changed

src/module.ts

Lines changed: 51 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,9 @@ export class Module {
552552
v128(bytes: Uint8Array): ExpressionRef {
553553
assert(bytes.length == 16);
554554
var out = this.lit;
555-
for (let i = 0; i < 16; ++i) binaryen.__i32_store8(out + i, bytes[i]);
555+
for (let i = 0; i < 16; ++i) {
556+
binaryen.__i32_store8(out + i, bytes[i]);
557+
}
556558
binaryen._BinaryenLiteralVec128(out, out);
557559
return binaryen._BinaryenConst(this.ref, out);
558560
}
@@ -585,7 +587,9 @@ export class Module {
585587
): ExpressionRef {
586588
var cStr = this.allocStringCached(name);
587589
var cArr = allocPtrArray(operands);
588-
var ret = binaryen._BinaryenHost(this.ref, op, cStr, cArr, operands ? (<ExpressionRef[]>operands).length : 0);
590+
var ret = binaryen._BinaryenHost(
591+
this.ref, op, cStr, cArr, operands ? (<ExpressionRef[]>operands).length : 0
592+
);
589593
binaryen._free(cArr);
590594
return ret;
591595
}
@@ -1095,7 +1099,15 @@ export class Module {
10951099
): FunctionRef {
10961100
var cStr = this.allocStringCached(name);
10971101
var cArr = allocPtrArray(varTypes);
1098-
var ret = binaryen._BinaryenAddFunction(this.ref, cStr, params, results, cArr, varTypes ? varTypes.length : 0, body);
1102+
var ret = binaryen._BinaryenAddFunction(
1103+
this.ref,
1104+
cStr,
1105+
params,
1106+
results,
1107+
cArr,
1108+
varTypes ? varTypes.length : 0,
1109+
body
1110+
);
10991111
binaryen._free(cArr);
11001112
return ret;
11011113
}
@@ -1114,7 +1126,11 @@ export class Module {
11141126

11151127
private hasTemporaryFunction: bool = false;
11161128

1117-
addTemporaryFunction(result: NativeType, paramTypes: NativeType[] | null, body: ExpressionRef): FunctionRef {
1129+
addTemporaryFunction(
1130+
result: NativeType,
1131+
paramTypes: NativeType[] | null,
1132+
body: ExpressionRef
1133+
): FunctionRef {
11181134
this.hasTemporaryFunction = assert(!this.hasTemporaryFunction);
11191135
var tempName = this.allocStringCached("");
11201136
var cArr = allocPtrArray(paramTypes);
@@ -1276,8 +1292,9 @@ export class Module {
12761292
var offs = new Array<ExpressionRef>(k);
12771293
var sizs = new Array<Index>(k);
12781294
for (let i = 0; i < k; ++i) {
1279-
let buffer = segments[i].buffer;
1280-
let offset = segments[i].offset;
1295+
let segment = segments[i];
1296+
let buffer = segment.buffer;
1297+
let offset = segment.offset;
12811298
segs[i] = allocU8Array(buffer);
12821299
psvs[i] = 0; // no passive segments currently
12831300
offs[i] = target == Target.WASM64
@@ -1289,12 +1306,16 @@ export class Module {
12891306
var cArr2 = allocU8Array(psvs);
12901307
var cArr3 = allocPtrArray(offs);
12911308
var cArr4 = allocU32Array(sizs);
1292-
binaryen._BinaryenSetMemory(this.ref, initial, maximum, cStr, cArr1, cArr2, cArr3, cArr4, k, shared);
1309+
binaryen._BinaryenSetMemory(
1310+
this.ref, initial, maximum, cStr, cArr1, cArr2, cArr3, cArr4, k, shared
1311+
);
12931312
binaryen._free(cArr4);
12941313
binaryen._free(cArr3);
12951314
binaryen._free(cArr2);
12961315
binaryen._free(cArr1);
1297-
for (let i = k - 1; i >= 0; --i) binaryen._free(segs[i]);
1316+
for (let i = k - 1; i >= 0; --i) {
1317+
binaryen._free(segs[i]);
1318+
}
12981319
}
12991320

13001321
// table
@@ -1314,7 +1335,9 @@ export class Module {
13141335
names[i] = this.allocStringCached(funcs[i]);
13151336
}
13161337
var cArr = allocPtrArray(names);
1317-
binaryen._BinaryenSetFunctionTable(this.ref, initial, maximum, cArr, numNames, offset);
1338+
binaryen._BinaryenSetFunctionTable(
1339+
this.ref, initial, maximum, cArr, numNames, offset
1340+
);
13181341
binaryen._free(cArr);
13191342
}
13201343

@@ -2256,20 +2279,20 @@ export function hasSideEffects(expr: ExpressionRef, features: FeatureFlags = Fea
22562279

22572280
function allocU8Array(u8s: Uint8Array | null): usize {
22582281
if (!u8s) return 0;
2259-
var numValues = u8s.length;
2260-
var ptr = binaryen._malloc(numValues);
2261-
var idx = ptr;
2262-
for (let i = 0; i < numValues; ++i) {
2263-
binaryen.__i32_store8(idx++, u8s[i]);
2282+
var len = u8s.length;
2283+
var ptr = binaryen._malloc(len);
2284+
for (let i = 0; i < len; ++i) {
2285+
binaryen.__i32_store8(ptr + i, u8s[i]);
22642286
}
22652287
return ptr;
22662288
}
22672289

22682290
function allocI32Array(i32s: i32[] | null): usize {
22692291
if (!i32s) return 0;
2270-
var ptr = binaryen._malloc(i32s.length << 2);
2292+
var len = i32s.length;
2293+
var ptr = binaryen._malloc(len << 2);
22712294
var idx = ptr;
2272-
for (let i = 0, k = i32s.length; i < k; ++i) {
2295+
for (let i = 0; i < len; ++i) {
22732296
let val = i32s[i];
22742297
binaryen.__i32_store(idx, val);
22752298
idx += 4;
@@ -2279,9 +2302,10 @@ function allocI32Array(i32s: i32[] | null): usize {
22792302

22802303
function allocU32Array(u32s: u32[] | null): usize {
22812304
if (!u32s) return 0;
2282-
var ptr = binaryen._malloc(u32s.length << 2);
2305+
var len = u32s.length;
2306+
var ptr = binaryen._malloc(len << 2);
22832307
var idx = ptr;
2284-
for (let i = 0, k = u32s.length; i < k; ++i) {
2308+
for (let i = 0; i < len; ++i) {
22852309
let val = u32s[i];
22862310
binaryen.__i32_store(idx, val);
22872311
idx += 4;
@@ -2293,9 +2317,10 @@ function allocPtrArray(ptrs: usize[] | null): usize {
22932317
if (!ptrs) return 0;
22942318
// TODO: WASM64
22952319
assert(ASC_TARGET != Target.WASM64);
2296-
var ptr = binaryen._malloc(ptrs.length << 2);
2320+
var len = ptrs.length;
2321+
var ptr = binaryen._malloc(len << 2);
22972322
var idx = ptr;
2298-
for (let i = 0, k = ptrs.length; i < k; ++i) {
2323+
for (let i = 0, k = len; i < k; ++i) {
22992324
let val = ptrs[i];
23002325
binaryen.__i32_store(idx, <i32>val);
23012326
idx += 4;
@@ -2329,7 +2354,7 @@ function stringLengthUTF8(str: string): usize {
23292354

23302355
function allocString(str: string | null): usize {
23312356
if (str === null) return 0;
2332-
var ptr = binaryen._malloc(stringLengthUTF8(str) + 1);
2357+
var ptr = binaryen._malloc(stringLengthUTF8(str) + 1) >>> 0;
23332358
// the following is based on Emscripten's stringToUTF8Array
23342359
var idx = ptr;
23352360
for (let i = 0, k = str.length; i < k; ++i) {
@@ -2370,17 +2395,17 @@ function allocString(str: string | null): usize {
23702395
return ptr;
23712396
}
23722397

2373-
function readBuffer(ptr: usize, length: i32): Uint8Array {
2374-
var ret = new Uint8Array(length);
2375-
for (let i = 0; i < length; ++i) {
2398+
function readBuffer(ptr: usize, len: i32): Uint8Array {
2399+
var ret = new Uint8Array(len);
2400+
for (let i = 0; i < len; ++i) {
23762401
ret[i] = binaryen.__i32_load8_u(ptr + <usize>i);
23772402
}
23782403
return ret;
23792404
}
23802405

23812406
export function readString(ptr: usize): string | null {
23822407
if (!ptr) return null;
2383-
var arr = new Array<i32>();
2408+
var arr = new Array<u32>();
23842409
// the following is based on Emscripten's UTF8ArrayToString
23852410
var cp: u32;
23862411
var u1: u32, u2: u32, u3: u32, u4: u32, u5: u32;
@@ -2416,12 +2441,11 @@ export function readString(ptr: usize): string | null {
24162441
arr.push(cp);
24172442
} else {
24182443
let ch = cp - 0x10000;
2419-
arr.push(0xD800 | (ch >> 10));
2444+
arr.push(0xD800 | (ch >>> 10));
24202445
arr.push(0xDC00 | (ch & 0x3FF));
24212446
}
24222447
}
24232448
return String.fromCharCodes(arr);
2424-
// return String.fromCodePoints(arr);
24252449
}
24262450

24272451
/** Result structure of {@link Module#toBinary}. */

0 commit comments

Comments
 (0)