asm.emitMTLR(T0);
asm.emitMTCTR(T0);
  protected final void emit_multianewarray(VM_Array typeRef, int dimensions, int dictionaryId) {    asm.emitLtoc(T0, VM_Entrypoints.newArrayArrayMethod.getOffset());    asm.emitMTLR(T0);    asm.emitLVAL(T0, dimensions);    asm.emitLVAL(T1, dictionaryId);    asm.emitSLI (T2, T0,  2); // number of bytes of array dimension args    asm.emitA   (T2, SP, T2); // offset of word *above* first...    asm.emitSF  (T2, FP, T2); // ...array dimension arg    asm.emitCall(spSaveAreaOffset);    asm.emitSTU (T0, (dimensions - 1)<<2, SP); // pop array dimension args, push return val  }