You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by va...@apache.org on 2007/05/24 14:54:18 UTC
svn commit: r541292 -
/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/helper_inliner.cpp
Author: varlax
Date: Thu May 24 05:54:17 2007
New Revision: 541292
URL: http://svn.apache.org/viewvc?view=rev&rev=541292
Log:
Applied HARMONY-3911 [drlvm][jit] wrong array element size calculated for allocArray helper inlining
Modified:
harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/helper_inliner.cpp
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/helper_inliner.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/helper_inliner.cpp?view=diff&rev=541292&r1=541291&r2=541292
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/helper_inliner.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/helper_inliner.cpp Thu May 24 05:54:17 2007
@@ -429,13 +429,17 @@
#endif
int allocationHandle = (int)(POINTER_SIZE_INT)arrayType->getAllocationHandle();
Type* elemType = arrayType->getElementType();
- int elemSize = 4; //TODO: check if references are compressed!
- if (elemType->isDouble() || elemType->isInt8()) {
- elemSize = 8;
+ int elemSize = 0; //TODO: check if references are compressed!
+ if (elemType->isBoolean() || elemType->isInt1()) {
+ elemSize = 1;
} else if (elemType->isInt2() || elemType->isChar()) {
elemSize = 2;
- } else if (elemType->isInt1()) {
- elemSize = 1;
+ } else if (elemType->isInt4() || elemType->isSingle()) {
+ elemSize = 4;
+ } else if (elemType->isInt8() || elemType->isDouble()) {
+ elemSize = 8;
+ } else {
+ elemSize = 4;
}
Opnd* tauSafeOpnd = opndManager->createSsaTmpOpnd(typeManager->getTauType());