Register temp handling fix

In general, compiler routines that generate code don't need to worry
about register management - the underlying utilites will take care of
it.  However, when generating an invoke sequence specific registers must
be used to conform to the calling convention.  To prevent the normal
utilities from allocating these fixed registers, oatLockAllTemps() is
called to mark the registers as in use.  However, oatLockAllTemps() did
just that - it locked all of the temps, not just those used for arguments.

This change renames oatLockAllTemps() to oatLockCallTemps() and restricts
the locking to the argument registers.

Change-Id: Id4183ce89e2672bcf2873d31aa60bd80c91c5a72
diff --git a/src/compiler/codegen/RallocUtil.cc b/src/compiler/codegen/RallocUtil.cc
index 492c79a..6a9777e 100644
--- a/src/compiler/codegen/RallocUtil.cc
+++ b/src/compiler/codegen/RallocUtil.cc
@@ -713,13 +713,13 @@
 }
 
 /* To be used when explicitly managing register use */
-extern void oatLockAllTemps(CompilationUnit* cUnit)
+extern void oatLockCallTemps(CompilationUnit* cUnit)
 {
-    int i;
-    for (i=0; i< cUnit->regPool->numCoreRegs; i++) {
-        if (cUnit->regPool->coreRegs[i].isTemp)
-            oatLockTemp(cUnit, cUnit->regPool->coreRegs[i].reg);
-    }
+    //TODO: Arm specific - move to target dependent code
+    oatLockTemp(cUnit, r0);
+    oatLockTemp(cUnit, r1);
+    oatLockTemp(cUnit, r2);
+    oatLockTemp(cUnit, r3);
 }
 
 // Make sure nothing is live and dirty