MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / read_init

Method read_init

tools/webassembly.py:248–267  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

246 return Type(self.read_uleb())
247
248 def read_init(self):
249 code = []
250 while 1:
251 opcode = OpCode(self.read_byte())
252 args = []
253 match opcode:
254 case OpCode.GLOBAL_GET:
255 args.append(self.read_uleb())
256 case OpCode.I32_CONST | OpCode.I64_CONST:
257 args.append(self.read_sleb())
258 case OpCode.REF_NULL:
259 args.append(self.read_type())
260 case OpCode.END | OpCode.I32_ADD | OpCode.I64_ADD:
261 pass
262 case _:
263 raise Exception('unexpected opcode %s' % opcode)
264 code.append((opcode, args))
265 if opcode == OpCode.END:
266 break
267 return code
268
269 def seek(self, offset):
270 return self.buf.seek(offset)

Callers 2

get_globalsMethod · 0.95
get_segmentsMethod · 0.95

Calls 6

read_byteMethod · 0.95
read_ulebMethod · 0.95
read_slebMethod · 0.95
read_typeMethod · 0.95
OpCodeClass · 0.85
appendMethod · 0.80

Tested by

no test coverage detected