mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-17 17:01:37 +00:00
@ -7,7 +7,7 @@ import {
|
||||
ExternalKind,
|
||||
NameType,
|
||||
MAX_PAGES,
|
||||
MAX_TABLES,
|
||||
MAX_ELEMS,
|
||||
Opcode
|
||||
} from "../src/common";
|
||||
|
||||
@ -199,7 +199,7 @@ export function parse(begin: usize, end: usize): void {
|
||||
let type = readVarint(7) & 0x7f;
|
||||
let flags = readVaruint(1);
|
||||
let initial = readVaruint(32);
|
||||
let maximum: u32 = flags & 1 ? readVaruint(32) : MAX_TABLES;
|
||||
let maximum = flags & 1 ? readVaruint(32) : <u32>MAX_ELEMS;
|
||||
opt.onTableImport(
|
||||
tbl_space_index++,
|
||||
type,
|
||||
@ -212,7 +212,7 @@ export function parse(begin: usize, end: usize): void {
|
||||
case ExternalKind.Memory: {
|
||||
let flags = readVaruint(1);
|
||||
let initial = readVaruint(32);
|
||||
let maximum: u32 = flags & 1 ? readVaruint(32) : MAX_PAGES;
|
||||
let maximum = flags & 1 ? readVaruint(32) : <u32>MAX_PAGES;
|
||||
opt.onMemoryImport(
|
||||
mem_space_index++,
|
||||
initial,
|
||||
@ -247,12 +247,29 @@ export function parse(begin: usize, end: usize): void {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SectionId.Table: {
|
||||
let count = readVaruint(32);
|
||||
for (let index: u32 = 0; index < count; ++index) {
|
||||
let type = readVaruint(7) & 0x7f;
|
||||
let flags = readVaruint(1);
|
||||
let initial = readVaruint(32);
|
||||
let maximum = flags & 1 ? readVaruint(32) : <u32>MAX_ELEMS;
|
||||
opt.onTable(
|
||||
tbl_space_index++,
|
||||
type,
|
||||
initial,
|
||||
maximum,
|
||||
flags
|
||||
);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SectionId.Memory: {
|
||||
let count = readVaruint(32);
|
||||
for (let index: u32 = 0; index < count; ++index) {
|
||||
let flags = readVaruint(1);
|
||||
let initial = readVaruint(32);
|
||||
let maximum: u32 = flags ? readVaruint(32) : MAX_PAGES;
|
||||
let maximum = flags & 1 ? readVaruint(32) : <u32>MAX_PAGES;
|
||||
opt.onMemory(
|
||||
mem_space_index++,
|
||||
initial,
|
||||
|
@ -10,6 +10,7 @@ export declare function onMemoryImport(index: u32, initial: u32, maximum: u32, f
|
||||
export declare function onGlobalImport(index: u32, type: u32, mutability: u32): void;
|
||||
export declare function onMemory(index: u32, initial: u32, maximum: u32, flags: u32): void;
|
||||
export declare function onFunction(index: u32, typeIndex: u32): void;
|
||||
export declare function onTable(index: u32, type: u32, initial: u32, maximum: u32, flags: u32): void;
|
||||
export declare function onGlobal(index: u32, type: u32, mutability: u32): void;
|
||||
export declare function onExport(index: u32, kind: u32, kindIndex: u32, nameOffset: u32, nameLength: u32): void;
|
||||
export declare function onStart(index: u32): void;
|
||||
|
Reference in New Issue
Block a user