Support for promoting Method* and compiler temps
This CL completes the support for allowing compiler-generated
data to be treated as a Dalvik register and become subject to
the normal register promotion and live temp tracking machinery.
Also:
o Removes some vestigal and useless Method* loads from
range argument setup.
o Changes the Method* pseudo vReg number from -1 to -2 to
avoid a conflict with the 0xffff marker in the register map.
o Removes some experimental code for CSE at the basic block
level.
Change-Id: I112a8bbe20f95a8d789f63908c84e5fa167c74ac
diff --git a/src/compiler/CompilerIR.h b/src/compiler/CompilerIR.h
index 8a3fa09..b512c5b 100644
--- a/src/compiler/CompilerIR.h
+++ b/src/compiler/CompilerIR.h
@@ -107,9 +107,9 @@
#define INVALID_OFFSET (-1)
/* SSA encodings for special registers */
-#define SSA_METHOD_BASEREG (-1)
+#define SSA_METHOD_BASEREG (-2)
/* First compiler temp basereg, grows smaller */
-#define SSA_CTEMP_BASEREG (-2)
+#define SSA_CTEMP_BASEREG (SSA_METHOD_BASEREG - 1)
/*
* Some code patterns cause the generation of excessively large