Using libjava-core.mpl as an example, if I run it through irbuild to produce libjava-core.irb.mpl, the generated syncenter instruction has an extra second operand of constval 2. There are some 1000 of the following kind of diff between libjava-core.mpl and libjava-core.irb.mpl:
My investigation showed that the extra operand was introduced when the .mpl was parsed by the MIR parser. The following code in mir_parser.cpp:MIRParser::ParseNaryStmt() is responsible:
My question is: is the extra inserted operand really needed? If so, for what purpose, and would it be better to be generated by jbc2mpl
新值
Using libjava-core.mpl as an example, if I run it through irbuild to produce libjava-core.irb.mpl, the generated syncenter instruction has an extra second operand of constval 2. There are some 1000 of the following kind of diff between libjava-core.mpl and libjava-core.irb.mpl:
My investigation showed that the extra operand was introduced when the .mpl was parsed by the MIR parser. The following code in mir_parser.cpp:MIRParser::ParseNaryStmt() is responsible: