Mercurial > hg > truffle
comparison src/share/vm/utilities/globalDefinitions.hpp @ 29:d5fc211aea19
6633953: type2aelembytes{T_ADDRESS} should be 8 bytes in 64 bit VM
Summary: 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
author | kvn |
---|---|
date | Mon, 25 Feb 2008 15:05:44 -0800 |
parents | a61af66fc99e |
children | ba764ed4b6f2 |
comparison
equal
deleted
inserted
replaced
28:67914967a4b5 | 29:d5fc211aea19 |
---|---|
390 T_ADDRESS = 15, | 390 T_ADDRESS = 15, |
391 T_CONFLICT = 16, // for stack value type with conflicting contents | 391 T_CONFLICT = 16, // for stack value type with conflicting contents |
392 T_ILLEGAL = 99 | 392 T_ILLEGAL = 99 |
393 }; | 393 }; |
394 | 394 |
395 inline bool is_java_primitive(BasicType t) { | |
396 return T_BOOLEAN <= t && t <= T_LONG; | |
397 } | |
398 | |
395 // Convert a char from a classfile signature to a BasicType | 399 // Convert a char from a classfile signature to a BasicType |
396 inline BasicType char2type(char c) { | 400 inline BasicType char2type(char c) { |
397 switch( c ) { | 401 switch( c ) { |
398 case 'B': return T_BYTE; | 402 case 'B': return T_BYTE; |
399 case 'C': return T_CHAR; | 403 case 'C': return T_CHAR; |
462 T_ARRAY_aelem_bytes = 4, | 466 T_ARRAY_aelem_bytes = 4, |
463 #endif | 467 #endif |
464 T_VOID_aelem_bytes = 0 | 468 T_VOID_aelem_bytes = 0 |
465 }; | 469 }; |
466 | 470 |
467 extern int type2aelembytes[T_CONFLICT+1]; // maps a BasicType to nof bytes used by its array element | 471 extern int _type2aelembytes[T_CONFLICT+1]; // maps a BasicType to nof bytes used by its array element |
472 #ifdef ASSERT | |
473 extern int type2aelembytes(BasicType t, bool allow_address = false); // asserts | |
474 #else | |
475 inline int type2aelembytes(BasicType t) { return _type2aelembytes[t]; } | |
476 #endif | |
468 | 477 |
469 | 478 |
470 // JavaValue serves as a container for arbitrary Java values. | 479 // JavaValue serves as a container for arbitrary Java values. |
471 | 480 |
472 class JavaValue { | 481 class JavaValue { |