mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
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:
parent
0dd8f3e8c0
commit
9f1a8ede80
18 changed files with 53 additions and 31 deletions
|
@ -392,6 +392,10 @@ enum BasicType {
|
|||
T_ILLEGAL = 99
|
||||
};
|
||||
|
||||
inline bool is_java_primitive(BasicType t) {
|
||||
return T_BOOLEAN <= t && t <= T_LONG;
|
||||
}
|
||||
|
||||
// Convert a char from a classfile signature to a BasicType
|
||||
inline BasicType char2type(char c) {
|
||||
switch( c ) {
|
||||
|
@ -464,7 +468,12 @@ enum ArrayElementSize {
|
|||
T_VOID_aelem_bytes = 0
|
||||
};
|
||||
|
||||
extern int type2aelembytes[T_CONFLICT+1]; // maps a BasicType to nof bytes used by its array element
|
||||
extern int _type2aelembytes[T_CONFLICT+1]; // maps a BasicType to nof bytes used by its array element
|
||||
#ifdef ASSERT
|
||||
extern int type2aelembytes(BasicType t, bool allow_address = false); // asserts
|
||||
#else
|
||||
inline int type2aelembytes(BasicType t) { return _type2aelembytes[t]; }
|
||||
#endif
|
||||
|
||||
|
||||
// JavaValue serves as a container for arbitrary Java values.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue