Assemble kernel on the client #1
12
asm.js
12
asm.js
@@ -531,8 +531,7 @@ class Parser {
|
||||
const value = this.integer(token) ?? console.error(
|
||||
`ERROR: Unexpected token ${token} in .global: expected`
|
||||
+ " initial value");
|
||||
const const_opcode = const_opcodes[this.global.type];
|
||||
this.global.init = [ const_opcode, value, opcodes["end"] ];
|
||||
this.global.init = value;
|
||||
const action = {
|
||||
type: Action.GLOBAL,
|
||||
global: { [this.global_name]: this.global }
|
||||
@@ -1222,8 +1221,13 @@ export class Assembler {
|
||||
const globals = Object.values(this.globals);
|
||||
if (globals.length == 0)
|
||||
return null;
|
||||
const contents = globals.map(
|
||||
({ type, init }) => [ type, 1, ...init ]);
|
||||
const contents = globals.map(({ type, init }) => [
|
||||
type,
|
||||
1,
|
||||
const_opcodes[type],
|
||||
...this.leb128(init),
|
||||
opcodes["end"],
|
||||
]);
|
||||
return [ globals.length ].concat(...contents);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user