@@ -663,20 +663,23 @@ class ASRToWASMVisitor : public ASR::BaseVisitor<ASRToWASMVisitor> {
663
663
template <typename T>
664
664
void emit_const (Vec<uint8_t > &m_code, wasm::type typ, T init_val) {
665
665
using namespace wasm ;
666
- wasm::emit_b8 (m_code, m_al, typ);
667
666
switch (typ)
668
667
{
669
668
case i32:
670
- wasm::emit_i32 (m_code, m_al, init_val);
669
+ wasm::emit_b8 (m_code, m_al, 0x41 ); // emit instruction
670
+ wasm::emit_i32 (m_code, m_al, init_val); // emit val
671
671
break ;
672
672
case i64:
673
- wasm::emit_i64 (m_code, m_al, init_val);
673
+ wasm::emit_b8 (m_code, m_al, 0x42 ); // emit instruction
674
+ wasm::emit_i64 (m_code, m_al, init_val); // emit val
674
675
break ;
675
676
case f32:
676
- wasm::emit_f32 (m_code, m_al, init_val);
677
+ wasm::emit_b8 (m_code, m_al, 0x43 ); // emit instruction
678
+ wasm::emit_f32 (m_code, m_al, init_val); // emit val
677
679
break ;
678
680
case f64:
679
- wasm::emit_f64 (m_code, m_al, init_val);
681
+ wasm::emit_b8 (m_code, m_al, 0x44 ); // emit instruction
682
+ wasm::emit_f64 (m_code, m_al, init_val); // emit val
680
683
break ;
681
684
default :
682
685
throw CodeGenError (" emit_global_const: Unsupported type" );
0 commit comments