diff --git a/aot/main.cpp b/aot/main.cpp index 79c919ecdaf3a0cb19ae266134aed2727987ab4b..c0eb079b20e3a4fc3055f2251ee4624deff2fb53 100644 --- a/aot/main.cpp +++ b/aot/main.cpp @@ -76,6 +76,11 @@ static int GenerateProgram(panda::pandasm::Program *prog, const std::string &out es2panda::Compiler::DumpAsm(prog); } + if (!panda::pandasm::AsmEmitter::AssignProfileInfo(prog)) { + std::cerr << "AssignProfileInfo failed" << std::endl; + return 1; + } + if (!panda::pandasm::AsmEmitter::Emit(output, *prog, statp, mapsp, true)) { return 1; } diff --git a/compiler/templates/formats.h.erb b/compiler/templates/formats.h.erb index 71b9587a04096794352ef345cf9c22dcb1e39fec..e1f189982738b9b9afb6ef328ffe594546141e41 100644 --- a/compiler/templates/formats.h.erb +++ b/compiler/templates/formats.h.erb @@ -44,6 +44,8 @@ namespace panda::es2panda::compiler { % elsif op.id? % is_string_id = insn.properties.include? 'string_id' % return is_string_id ? "OperandKind::STRING_ID" : "OperandKind::ID" +% elsif op.prof? +% return "OperandKind::IMM" % else % return nil % end