6633953: type2aelembytes{T_ADDRESS} should be 8 bytes in 64 bit VM

T_ADDRESS size is defined as 'int' size (4 bytes) but C2 use it for raw pointers and as memory type for StoreP and LoadP nodes.

Reviewed-by: jrose
This commit is contained in:
Vladimir Kozlov 2008-02-25 15:05:44 -08:00
parent 0dd8f3e8c0
commit 9f1a8ede80
18 changed files with 53 additions and 31 deletions

View file

@ -97,7 +97,13 @@ public:
// What is the type of the value in memory? (T_VOID mean "unspecified".)
virtual BasicType memory_type() const = 0;
virtual int memory_size() const { return type2aelembytes[memory_type()]; }
virtual int memory_size() const {
#ifdef ASSERT
return type2aelembytes(memory_type(), true);
#else
return type2aelembytes(memory_type());
#endif
}
// Search through memory states which precede this node (load or store).
// Look for an exact match for the address, with no intervening