summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/codegen_util.cc
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2012-11-15 14:51:41 -0800
committer buzbee <buzbee@google.com> 2012-11-16 16:48:09 -0800
commiteaf09bc65f9a10d12befcdb239156938c9bceef2 (patch)
treee3b85c241b24aa058a413363e4f9c94f4c76d4d6 /src/compiler/codegen/codegen_util.cc
parentefc6369224b036a1fb77849f7ae65b3492c832c0 (diff)
Quick compiler: more refactoring
Focus on header file cleanup here. Note: target_list.h is transitional, and upcoming CLs will do additional header file reorganization. Change-Id: If86e1a8c1c43305762fe37b157a9d3c17d911ea7
Diffstat (limited to 'src/compiler/codegen/codegen_util.cc')
-rw-r--r--src/compiler/codegen/codegen_util.cc27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/compiler/codegen/codegen_util.cc b/src/compiler/codegen/codegen_util.cc
index b0a1e4437c..6ce48abb5c 100644
--- a/src/compiler/codegen/codegen_util.cc
+++ b/src/compiler/codegen/codegen_util.cc
@@ -17,13 +17,14 @@
#include "gc_map.h"
#include "verifier/dex_gc_map.h"
#include "verifier/method_verifier.h"
+#include "codegen_util.h"
namespace art {
void setMemRefType(LIR* lir, bool isLoad, int memType)
{
- u8 *maskPtr;
- u8 mask = ENCODE_MEM;;
+ uint64_t *maskPtr;
+ uint64_t mask = ENCODE_MEM;;
DCHECK(EncodingMap[lir->opcode].flags & (IS_LOAD | IS_STORE));
if (isLoad) {
maskPtr = &lir->useMask;
@@ -68,7 +69,7 @@ void annotateDalvikRegAccess(LIR* lir, int regId, bool isLoad, bool is64bit)
lir->aliasInfo = ENCODE_ALIAS_INFO(regId, is64bit);
}
-u8 oatGetRegMaskCommon(CompilationUnit* cUnit, int reg)
+uint64_t oatGetRegMaskCommon(CompilationUnit* cUnit, int reg)
{
return getRegMaskCommon(cUnit, reg);
}
@@ -76,13 +77,13 @@ u8 oatGetRegMaskCommon(CompilationUnit* cUnit, int reg)
/*
* Mark the corresponding bit(s).
*/
-inline void setupRegMask(CompilationUnit* cUnit, u8* mask, int reg)
+inline void setupRegMask(CompilationUnit* cUnit, uint64_t* mask, int reg)
{
*mask |= getRegMaskCommon(cUnit, reg);
}
/* Exported version of setupRegMask */
-void oatSetupRegMask(CompilationUnit* cUnit, u8* mask, int reg)
+void oatSetupRegMask(CompilationUnit* cUnit, uint64_t* mask, int reg)
{
setupRegMask(cUnit, mask, reg);
}
@@ -493,8 +494,6 @@ LIR* addWordData(CompilationUnit* cUnit, LIR* *constantListP, int value)
LIR* addWideData(CompilationUnit* cUnit, LIR* *constantListP,
int valLo, int valHi)
{
- //FIXME: hard-coded little endian, need BE variant
- // Insert high word into list first
addWordData(cUnit, constantListP, valHi);
return addWordData(cUnit, constantListP, valLo);
}
@@ -943,7 +942,7 @@ LIR* insertCaseLabel(CompilationUnit* cUnit, int vaddr, int keyVal)
void markPackedCaseLabels(CompilationUnit* cUnit, SwitchTable *tabRec)
{
- const u2* table = tabRec->table;
+ const uint16_t* table = tabRec->table;
int baseVaddr = tabRec->vaddr;
int *targets = (int*)&table[4];
int entries = table[1];
@@ -956,7 +955,7 @@ void markPackedCaseLabels(CompilationUnit* cUnit, SwitchTable *tabRec)
void markSparseCaseLabels(CompilationUnit* cUnit, SwitchTable *tabRec)
{
- const u2* table = tabRec->table;
+ const uint16_t* table = tabRec->table;
int baseVaddr = tabRec->vaddr;
int entries = table[1];
int* keys = (int*)&table[2];
@@ -985,9 +984,7 @@ void oatProcessSwitchTables(CompilationUnit* cUnit)
}
}
-//FIXME: Do we have endian issues here?
-
-void dumpSparseSwitchTable(const u2* table)
+void dumpSparseSwitchTable(const uint16_t* table)
/*
* Sparse switch data format:
* ushort ident = 0x0200 magic value
@@ -998,7 +995,7 @@ void dumpSparseSwitchTable(const u2* table)
* Total size is (2+size*4) 16-bit code units.
*/
{
- u2 ident = table[0];
+ uint16_t ident = table[0];
int entries = table[1];
int* keys = (int*)&table[2];
int* targets = &keys[entries];
@@ -1009,7 +1006,7 @@ void dumpSparseSwitchTable(const u2* table)
}
}
-void dumpPackedSwitchTable(const u2* table)
+void dumpPackedSwitchTable(const uint16_t* table)
/*
* Packed switch data format:
* ushort ident = 0x0100 magic value
@@ -1020,7 +1017,7 @@ void dumpPackedSwitchTable(const u2* table)
* Total size is (4+size*2) 16-bit code units.
*/
{
- u2 ident = table[0];
+ uint16_t ident = table[0];
int* targets = (int*)&table[4];
int entries = table[1];
int lowKey = s4FromSwitchData(&table[2]);