Make code buffer units 8bit rather than 16bit.
Change-Id: I1ca087c4f7f820a8816388095405603f4163b354
diff --git a/src/compiler/codegen/mips/Assemble.cc b/src/compiler/codegen/mips/Assemble.cc
index 359ec42..e064da9 100644
--- a/src/compiler/codegen/mips/Assemble.cc
+++ b/src/compiler/codegen/mips/Assemble.cc
@@ -693,14 +693,18 @@
}
}
// FIXME: need multi-endian handling here
- cUnit->codeBuffer.push_back((bits >> 16) & 0xffff);
- cUnit->codeBuffer.push_back(bits & 0xffff);
+ cUnit->codeBuffer.push_back((bits >> 24) & 0xff);
+ cUnit->codeBuffer.push_back((bits >> 16) & 0xff);
+ cUnit->codeBuffer.push_back((bits >> 8) & 0xff);
+ cUnit->codeBuffer.push_back(bits & 0xff);
// TUNING: replace with proper delay slot handling
if (encoder->size == 8) {
const MipsEncodingMap *encoder = &EncodingMap[kMipsNop];
u4 bits = encoder->skeleton;
- cUnit->codeBuffer.push_back((bits >> 16) & 0xffff);
- cUnit->codeBuffer.push_back(bits & 0xffff);
+ cUnit->codeBuffer.push_back((bits >> 24) & 0xff);
+ cUnit->codeBuffer.push_back((bits >> 16) & 0xff);
+ cUnit->codeBuffer.push_back((bits >> 8) & 0xff);
+ cUnit->codeBuffer.push_back(bits & 0xff);
}
}
return res;