66 // agent's Java code (for bootstrapping). |
66 // agent's Java code (for bootstrapping). |
67 |
67 |
68 typedef struct { |
68 typedef struct { |
69 const char* typeName; // The type name containing the given field (example: "Klass") |
69 const char* typeName; // The type name containing the given field (example: "Klass") |
70 const char* fieldName; // The field name within the type (example: "_name") |
70 const char* fieldName; // The field name within the type (example: "_name") |
71 const char* typeString; // Quoted name of the type of this field (example: "symbolOopDesc*"; |
71 const char* typeString; // Quoted name of the type of this field (example: "Symbol*"; |
72 // parsed in Java to ensure type correctness |
72 // parsed in Java to ensure type correctness |
73 int32_t isStatic; // Indicates whether following field is an offset or an address |
73 int32_t isStatic; // Indicates whether following field is an offset or an address |
74 uint64_t offset; // Offset of field within structure; only used for nonstatic fields |
74 uint64_t offset; // Offset of field within structure; only used for nonstatic fields |
75 void* address; // Address of field; only used for static fields |
75 void* address; // Address of field; only used for static fields |
76 // ("offset" can not be reused because of apparent SparcWorks compiler bug |
76 // ("offset" can not be reused because of apparent SparcWorks compiler bug |