equal
deleted
inserted
replaced
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 { |