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 {