helper.writePushStaticsEntry(getCurInstrLabel(), helper.getMethod().getDeclaringClass()); /* currentClass */
os.writePUSH(10); /* type=int */
os.writePUSH(dimensions); /* elements */
invokeJavaMethod(context.getAllocPrimitiveArrayMethod());
final RefItem dims = vstack.popRef();
final GPR dimsr = dims.getRegister();
// Dimension array is now in dimsr
// Pop all dimensions (note the reverse order that allocMultiArray
// expects)
for (int i = 0; i < dimensions; i++) {
final int ofs = arrayDataOffset + (i * 4);
final IntItem v = vstack.popInt();
v.release1(eContext);
os.writePOP(dimsr, ofs);
}
// Allocate tmp register
final GPR classr = (GPR) L1AHelper.requestRegister(eContext,
JvmType.REFERENCE, false);
// Resolve the array class
writeResolveAndLoadClassToReg(clazz, classr);