diff --git a/assembly/index.ts b/assembly/index.ts index 7c2199a..54da2db 100644 --- a/assembly/index.ts +++ b/assembly/index.ts @@ -11,7 +11,7 @@ export function readRequestBytes(ptr: i32, size: i32): Uint8Array { bb[i] = load(ptr + i) } - memory.free(changetype(ptr)); + __free(changetype(ptr)); return bb; } @@ -22,9 +22,8 @@ export function readRequestBytes(ptr: i32, size: i32): Uint8Array { */ export function readRequestString(ptr: i32, size: i32): string { let bb = readRequestBytes(ptr, size); - let request = String.fromUTF8(bb.buffer.data, bb.length); - memory.free(changetype(bb.buffer)); - memory.free(changetype(bb)); + let request = String.UTF8.decode(bb.buffer); + __free(changetype(bb)); return request } @@ -42,7 +41,7 @@ export function readRequestString(ptr: i32, size: i32): string { */ export function writeResponseBytes(response: Uint8Array): i32 { let len: i32 = response.length; - let addr = memory.allocate(len + RESPONSE_SIZE_BYTES); + let addr = __alloc(len + RESPONSE_SIZE_BYTES, 1); for (let i = 0; i < RESPONSE_SIZE_BYTES; i++) { let b: u8 = (len >> i * 8) as u8 & 0xFF; store(addr + i, b); @@ -54,8 +53,8 @@ export function writeResponseBytes(response: Uint8Array): i32 { store(responseAddr + i, b); } - memory.free(changetype(response.buffer)); - memory.free(changetype(response)); + __free(changetype(response.buffer)); + __free(changetype(response)); return addr; } @@ -66,7 +65,7 @@ export function writeResponseBytes(response: Uint8Array): i32 { */ export function writeResponseString(response: string): i32 { let strLen: i32 = response.length; - let addr = memory.allocate(strLen + RESPONSE_SIZE_BYTES); + let addr = __alloc(strLen + RESPONSE_SIZE_BYTES, 1); for (let i = 0; i < RESPONSE_SIZE_BYTES; i++) { let b: u8 = (strLen >> i * 8) as u8 & 0xFF; store(addr + i, b); @@ -92,9 +91,9 @@ export function stringHandler(ptr: i32, size: i32, handler: (request: string) => let response = handler(strRequest); let responseAddr = writeResponseString(response); - memory.free(ptr); - memory.free(changetype(strRequest)); - memory.free(changetype(response)); + __free(ptr); + __free(changetype(strRequest)); + __free(changetype(response)); return responseAddr; } @@ -111,12 +110,12 @@ export function loggedStringHandler(ptr: i32, size: i32, handler: (request: stri let response = handler(strRequest); let responseAddr = writeResponseString(response); - memory.free(ptr); - memory.free(changetype(strRequest)); + __free(ptr); + __free(changetype(strRequest)); log("Response: " + response); - memory.free(changetype(response)); + __free(changetype(response)); return responseAddr; } @@ -132,8 +131,8 @@ export function bytesHandler(ptr: i32, size: i32, handler: (request: Uint8Array) let response = handler(bytesRequest); let responseAddr = writeResponseBytes(response); - memory.free(ptr); - memory.free(changetype(bytesRequest)); + __free(ptr); + __free(changetype(bytesRequest)); return responseAddr; } diff --git a/assembly/logger.ts b/assembly/logger.ts index f96c55a..9281f31 100644 --- a/assembly/logger.ts +++ b/assembly/logger.ts @@ -9,7 +9,7 @@ export function log(message: string): void { let b: u8 = messageStr.charCodeAt(i) as u8; write(b); } - memory.free(changetype(message)); - memory.free(changetype(messageStr)); + __free(changetype(message)); + __free(changetype(messageStr)); flush(); } diff --git a/package-lock.json b/package-lock.json index fd8cb98..02a2e5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,16 +11,16 @@ "dev": true }, "assemblyscript": { - "version": "github:AssemblyScript/assemblyscript#36040d5b5312f19a025782b5e36663823494c2f3", - "from": "github:AssemblyScript/assemblyscript", + "version": "github:assemblyscript/assemblyscript#25b92769119389c581977da12b5147d1449043db", + "from": "github:assemblyscript/assemblyscript", "dev": true, "requires": { "@protobufjs/utf8": "^1.1.0", - "binaryen": "77.0.0-nightly.20190407", - "glob": "^7.1.3", + "binaryen": "87.0.0-nightly.20190716", + "glob": "^7.1.4", "long": "^4.0.0", "opencollective-postinstall": "^2.0.0", - "source-map-support": "^0.5.11" + "source-map-support": "^0.5.12" } }, "balanced-match": { @@ -30,9 +30,9 @@ "dev": true }, "binaryen": { - "version": "77.0.0-nightly.20190407", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-77.0.0-nightly.20190407.tgz", - "integrity": "sha512-1mxYNvQ0xywMe582K7V6Vo2zzhZZxMTeGHH8aE/+/AND8f64D8Q1GThVY3RVRwGY/4p+p95ccw9Xbw2ovFXRIg==", + "version": "87.0.0-nightly.20190716", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-87.0.0-nightly.20190716.tgz", + "integrity": "sha512-qRGfV8cLV4HVVo1oUCtTaDmOhbwctaW7vyW0G6HKftywWOJI9t9IsCrUEFKya50RqyEnanuS2w3nfOg4bxTGqg==", "dev": true }, "brace-expansion": { @@ -64,9 +64,9 @@ "dev": true }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -88,9 +88,9 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "long": { @@ -136,9 +136,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", diff --git a/package.json b/package.json index d522209..6b74939 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,6 @@ }, "homepage": "https://github.com/fluencelabs/assemblyscript-sdk#readme", "devDependencies": { - "assemblyscript": "github:AssemblyScript/assemblyscript" + "assemblyscript": "assemblyscript/assemblyscript" } }